Skip to content

fix(deps): remediate OpenSSF-reported vulnerable dependencies - #14685

Merged
moabu merged 5 commits into
mainfrom
fix-openssf-vulnerable-dependencies
Aug 3, 2026
Merged

moabu merged 5 commits into
mainfrom
fix-openssf-vulnerable-dependencies

Conversation

@mo-auto

@mo-auto mo-auto commented Aug 3, 2026 •

Copy link
Copy Markdown
Member

Description

Remediates the vulnerable dependencies flagged by the OpenSSF Scorecard vulnerabilities check, across the Python, Java, and Go dependency trees. Each bump targets the fixed version from the corresponding OSV/GHSA advisory.

Python

Package Fixed Advisories Where
gitpython 3.1.55 (lock 3.1.57) GHSA-2f96, 3rp5, 6p8h, 94p4, 956x, fjr4, r9mr, rwj8, v396 docs
cryptography 48.0.1 GHSA-537c jans-pycloudlib, shibboleth
pymdown-extensions 11.0.0 (lock 11.0.1) GHSA-9xwg docs
click 8.3.3 PYSEC-2026-2132 jans-pycloudlib, configurator, cloudtools, shibboleth, docs
lxml-html-clean 0.4.5 PYSEC-2026-2614 automation
setuptools 83.0.0 PYSEC-2026-3447 jans-pycloudlib, jans-linux-setup
pyasn1 0.6.4 PYSEC-2026-3455/3456/3457 jans-linux-setup
mcp 1.28.1 PYSEC-2026-3481/3482/3483 demos/mcp

jans-pycloudlib floors drive every docker image, so the core fixes land there.

Java

  • jackson-databind / jackson-core → 2.22.1 (jans-bom, jans-config-api, cedarling_uniffi): GHSA-3pjw, 5gvw, 5hh8, 5jmj, 9fxm, hgj6, j3rv, mhm7, rcqc, rmj7, r7wm. Several are only fixed in 2.21.5+, so a 2.18.x bump is insufficient; 2.22.1 is already used by jans-casa.
  • nimbus-jose-jwt → 9.37.4 (cedarling bindings; jans-bom already 10.0.2): GHSA-xwmg.

Go (go mod tidy + build verified)

  • x/net → 0.56.0 (GO-2026-5942), x/text → 0.39.0 (GO-2026-5970), grpc → 1.82.1 (GO-2026-6061) in terraform-provider-jans and cedarling_opa
  • klauspost/compress → 1.18.7 (GO-2026-5841), otel → 1.44.0 (GO-2026-5158) in cedarling_opa

Not fixable — no upstream fix / unreachable (already documented)

  • GO-2026-5932 (x/crypto/openpgp): unmaintained, sub-package not imported — noted inline in both go.mod.
  • RUSTSEC-2023-0071 (rsa/Marvin), 2021-0127 (serde_cbor), 2026-0194/0195 (quick-xml): already accepted with rationale in jans-cedarling/deny.toml and .cargo/audit.toml (no upstream fix, or dev-only profiling chain that never parses untrusted input).

Test and Documentation

  • Go: go mod tidy + go build ./... pass for both modules (cedarling_opa's final CGO link needs the prebuilt Rust native lib, unrelated to these bumps).
  • docs/poetry.lock regenerated with Poetry.
  • Java/Python bumps rely on CI build/test; all target versions verified present on Maven Central / PyPI.

Closes #14686,

Summary by CodeRabbit

  • Chores

    • Updated underlying Python, Java, and Go components to newer supported versions.
    • Refreshed security, serialization, cryptography, CLI, networking, telemetry, compression, and gRPC libraries.
    • Simplified dependency requirements and improved compatibility across setup, documentation, and deployment tooling.
  • Security

    • Added documented, time-limited vulnerability-scan exceptions for issues verified as not affecting components in use, while preserving ongoing monitoring and review.

Address advisories from the OpenSSF Scorecard vulnerabilities check
across the Python, Java, and Go dependency trees.

Python:
- gitpython -> 3.1.55 (docs; lock 3.1.57): GHSA-2f96/3rp5/6p8h/94p4/
  956x/fjr4/r9mr/rwj8/v396
- cryptography -> 48.0.1 (pycloudlib, shibboleth): GHSA-537c
- pymdown-extensions -> 11.0.0 (docs; lock 11.0.1): GHSA-9xwg
- click -> 8.3.3 (pycloudlib, configurator, cloudtools, shibboleth,
  docs): PYSEC-2026-2132
- lxml-html-clean -> 0.4.5 (automation): PYSEC-2026-2614
- setuptools -> 83.0.0 (pycloudlib, linux-setup): PYSEC-2026-3447
- pyasn1 -> 0.6.4 (linux-setup): PYSEC-2026-3455/3456/3457
- mcp -> 1.28.1 (demos/mcp): PYSEC-2026-3481/3482/3483

Java:
- jackson-databind/jackson-core -> 2.22.1 (jans-bom, config-api,
  cedarling_uniffi): GHSA-3pjw/5gvw/5hh8/5jmj/9fxm/hgj6/j3rv/mhm7/
  rcqc/rmj7/r7wm
- nimbus-jose-jwt -> 9.37.4 (cedarling bindings; jans-bom already
  10.0.2): GHSA-xwmg

Go (go mod tidy, build verified):
- golang.org/x/net -> 0.56.0: GO-2026-5942
- golang.org/x/text -> 0.39.0: GO-2026-5970
- google.golang.org/grpc -> 1.82.1: GO-2026-6061
- github.com/klauspost/compress -> 1.18.7: GO-2026-5841
- go.opentelemetry.io/otel -> 1.44.0: GO-2026-5158

Not fixable (documented, no upstream fix or unreachable):
- GO-2026-5932 (x/crypto/openpgp): unmaintained, sub-package not
  imported; already noted in go.mod
- RUSTSEC-2023-0071 (rsa), 2021-0127 (serde_cbor), 2026-0194/0195
  (quick-xml): already accepted in deny.toml / .cargo/audit.toml

Signed-off-by: moauto <54212639+mo-auto@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Aug 3, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: da73e63e-2088-493a-b9bf-2e8527d64f5c

📥 Commits

Reviewing files that changed from the base of the PR and between c20fbcd and 15af209.

📒 Files selected for processing (1)
  • docker-jans-shibboleth/requirements.txt
💤 Files with no reviewable changes (1)
  • docker-jans-shibboleth/requirements.txt

📝 Walkthrough

Walkthrough

This pull request updates dependency versions in Python, Maven, and Go manifests. It removes pinned Python dependencies and adds temporary OSV-Scanner exceptions with documented rationales and expiry dates.

Changes

Dependency and vulnerability updates

Layer / File(s) Summary
Python dependency constraints
automation/requirements.txt, demos/mcp/.../requirements.txt, docker-jans-*/requirements.txt, docs/pyproject.toml, jans-linux-setup/*, jans-pycloudlib/pyproject.toml
Updated Python dependency minimums and pins, and removed pinned click and webdavclient3 entries.
Java dependency versions
jans-bom/pom.xml, jans-config-api/pom.xml, jans-cedarling/bindings/*/pom.xml
Updated Jackson and Nimbus JOSE JWT versions in Maven manifests.
Go module versions
jans-cedarling/cedarling_opa/go.mod, terraform-provider-jans/go.mod
Updated indirect Go module versions, including OpenTelemetry, golang.org/x, gRPC, genproto, and related modules.
OSV-Scanner exceptions
jans-cedarling/*/osv-scanner.toml, terraform-provider-jans/osv-scanner.toml
Added expiring ignore entries for Go and RustSec advisories with dependency-scope explanations.

Estimated code review effort: 2 (Simple) | ~15 minutes

Possibly related PRs

Suggested labels: kind-dependencies, comp-docker-jans-saml

Suggested reviewers: yuriyzz, devrimyatar, moabu

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers the scope, issue, implementation, and testing, but omits the required template sections and checklist confirmations. Add the required template headings and complete the preparation, analysis, testing, documentation, and no-doc-impact checklist items.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the primary change: remediation of vulnerable dependencies.
Linked Issues check ✅ Passed The dependency updates and vulnerability suppressions fulfill the linked issue’s objective to remediate OpenSSF-reported vulnerable dependencies.
Out of Scope Changes check ✅ Passed All changes support dependency remediation, including removal of an unused dependency and documented suppressions for unreachable or unfixable advisories.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-openssf-vulnerable-dependencies

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mo-auto mo-auto added area-CI Issue or changes required in automatic builds or CI infrastructure comp-docker-jans-cloudtools Touching folder /docker-jans-cloudtools comp-docker-jans-configurator comp-docs Touching folder /docs comp-jans-bom Component affected by issue or PR comp-jans-cedarling Touching folder /jans-cedarling comp-jans-config-api Component affected by issue or PR comp-jans-linux-setup Component affected by issue or PR comp-jans-pycloudlib comp-terraform-provider-jans kind-bug Issue or PR is a bug in existing functionality labels Aug 3, 2026
@mo-auto

mo-auto commented Aug 3, 2026

Copy link
Copy Markdown
Member Author

Error: Hi @mo-auto, You did not reference an open issue in your PR. I attempted to create an issue for you.
Please update that issues' title and body and make sure I correctly referenced it in the above PRs body.

@mo-auto

mo-auto commented Aug 3, 2026 •

Copy link
Copy Markdown
Member Author

⚠️ Snyk checks are incomplete.

Status Scan Engine Critical High Medium Low Total (0)
⚠️ Open Source Security 0 0 0 0 See details

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@coderabbitai coderabbitai Bot added the kind-dependencies Pull requests that update a dependency file label Aug 3, 2026
…canner.toml

The OpenSSF Scorecard Vulnerabilities check reads osv-scanner.toml next to
each lockfile (deny.toml / .cargo/audit.toml are only read by the local
cargo-audit job). Add IgnoredVulns entries for the advisories with no
upstream fix or that are unreachable, so they stop lowering the score:

- jans-cedarling/osv-scanner.toml (Cargo.lock): RUSTSEC-2023-0071 (rsa),
  RUSTSEC-2021-0127 (serde_cbor), RUSTSEC-2026-0194/0195 (quick-xml)
- jans-cedarling/cedarling_opa/osv-scanner.toml and
  terraform-provider-jans/osv-scanner.toml (go.mod): GO-2026-5932
  (x/crypto/openpgp, sub-package not imported)

Each entry carries a reason and an ignoreUntil review date.

Signed-off-by: moauto <54212639+mo-auto@users.noreply.github.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@demos/mcp/config-api/mcp-config-api-server/requirements.txt`:
- Line 1: Update the requirements declaration containing mcp>=1.28.1 to add a
direct minimum constraint for python-multipart at the patched release, then
regenerate the lockfile and rerun OSV Scanner to verify python-multipart==0.0.9
is excluded.

In `@docker-jans-shibboleth/requirements.txt`:
- Around line 1-4: Add a direct minimum requests version constraint to
docker-jans-shibboleth/requirements.txt, using requests>=2.33.0 or newer,
alongside the existing dependencies so webdavclient3 cannot resolve the affected
older transitive version.

In `@jans-bom/pom.xml`:
- Around line 54-56: Add the annotation-specific property
jackson.annotations.version with value 2.22 alongside the existing Jackson
version properties, then update the jackson-annotations dependency at the
relevant declaration to reference this property instead of the general
jackson.version.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 1f5bef86-4d00-4b4a-a768-009b1eb0786b

📥 Commits

Reviewing files that changed from the base of the PR and between de383fb and 9c663f4.

⛔ Files ignored due to path filters (3)
  • docs/poetry.lock is excluded by !**/*.lock
  • jans-cedarling/cedarling_opa/go.sum is excluded by !**/*.sum
  • terraform-provider-jans/go.sum is excluded by !**/*.sum
📒 Files selected for processing (15)
  • automation/requirements.txt
  • demos/mcp/config-api/mcp-config-api-server/requirements.txt
  • docker-jans-cloudtools/requirements.txt
  • docker-jans-configurator/requirements.txt
  • docker-jans-shibboleth/requirements.txt
  • docs/pyproject.toml
  • jans-bom/pom.xml
  • jans-cedarling/bindings/cedarling-java/pom.xml
  • jans-cedarling/bindings/cedarling_uniffi/javaApp/pom.xml
  • jans-cedarling/cedarling_opa/go.mod
  • jans-config-api/pom.xml
  • jans-linux-setup/requirements.txt
  • jans-linux-setup/setup.py
  • jans-pycloudlib/pyproject.toml
  • terraform-provider-jans/go.mod

Comment thread demos/mcp/config-api/mcp-config-api-server/requirements.txt
Comment thread docker-jans-shibboleth/requirements.txt
Comment thread jans-bom/pom.xml

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@jans-cedarling/cedarling_opa/osv-scanner.toml`:
- Around line 4-7: Update the GO-2026-5932 entries in
jans-cedarling/cedarling_opa/osv-scanner.toml (lines 4-7) and
terraform-provider-jans/osv-scanner.toml (lines 4-7) to document the exception
as module-wide, then add automated checks for both modules that fail before
merge if their dependency imports golang.org/x/crypto/openpgp.

In `@jans-cedarling/osv-scanner.toml`:
- Around line 6-9: Update the RUSTSEC-2023-0071 entry in IgnoredVulns: verify
cedarling’s deployed JWT path and, if it only performs RS/PS public-key
verification, state that explicitly and document how remote callers cannot
observe private-key operations; otherwise remove this exception and replace the
rsa-dependent signing path.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 03cff3e2-6060-43f5-80d4-0014b0fca7f0

📥 Commits

Reviewing files that changed from the base of the PR and between 9c663f4 and eb63375.

📒 Files selected for processing (3)
  • jans-cedarling/cedarling_opa/osv-scanner.toml
  • jans-cedarling/osv-scanner.toml
  • terraform-provider-jans/osv-scanner.toml

Comment thread jans-cedarling/cedarling_opa/osv-scanner.toml Outdated
Comment thread jans-cedarling/osv-scanner.toml Outdated
yuriyz
yuriyz previously approved these changes Aug 3, 2026
Comment thread docker-jans-cloudtools/requirements.txt Outdated
Comment thread docker-jans-configurator/requirements.txt Outdated
Comment thread docker-jans-shibboleth/requirements.txt
Comment thread docker-jans-shibboleth/requirements.txt Outdated
…ationale

Jackson 2.20+ dropped the patch segment from jackson-annotations, so the
artifact ships as 2.22 (2.22.1 does not exist on Maven Central). The explicit
jackson-annotations management entry forced ${jackson.version}=2.22.1, which
would fail to resolve; add a jackson.annotations.version=2.22 property and
reference it (mirrors jackson-bom's own jackson.version.annotations split).

Also tighten the osv-scanner.toml ignore rationales:
- RUSTSEC-2023-0071 (rsa): document that cedarling only verifies JWTs with
  issuer public keys and never performs an RSA private-key op, so the Marvin
  private-key timing side-channel is unreachable.
- GO-2026-5932 (x/crypto/openpgp): note the module-wide exception is justified
  by 'go list -deps' showing the openpgp sub-package is not imported.

Signed-off-by: moauto <54212639+mo-auto@users.noreply.github.com>
Both images install jans-pycloudlib, which already requires Click>=8.3.3
(PYSEC-2026-2132 fix), so the explicit click pin is redundant. Left intact in
docker-jans-shibboleth, which does not install jans-pycloudlib. webdavclient3 is
not a jans-pycloudlib dependency and stays in shibboleth.

Signed-off-by: moauto <54212639+mo-auto@users.noreply.github.com>
webdavclient3 is not imported anywhere in the image (or the repo); drop the
unused dependency.

Signed-off-by: moauto <54212639+mo-auto@users.noreply.github.com>
@coderabbitai coderabbitai Bot added the comp-docker-jans-saml Touching folder /docker-jans-saml label Aug 3, 2026
@mo-auto
mo-auto temporarily deployed to integration-tests August 3, 2026 16:07 — with GitHub Actions Inactive
@mo-auto
mo-auto temporarily deployed to integration-tests August 3, 2026 16:07 — with GitHub Actions Inactive
@sonarqubecloud

sonarqubecloud Bot commented Aug 3, 2026

Copy link
Copy Markdown

@sonarqubecloud

sonarqubecloud Bot commented Aug 3, 2026

Copy link
Copy Markdown

@sonarqubecloud

sonarqubecloud Bot commented Aug 3, 2026

Copy link
Copy Markdown

@moabu
moabu merged commit c7706bf into main Aug 3, 2026
7 of 8 checks passed
@moabu
moabu deleted the fix-openssf-vulnerable-dependencies branch August 3, 2026 17:10

This branch was previously deployed

1 inactive deployment
integration-tests — 15af2098 Deployed Aug 3, 2026 by mo-auto
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-CI Issue or changes required in automatic builds or CI infrastructure comp-docker-jans-cloudtools Touching folder /docker-jans-cloudtools comp-docker-jans-configurator comp-docker-jans-saml Touching folder /docker-jans-saml comp-docs Touching folder /docs comp-jans-bom Component affected by issue or PR comp-jans-cedarling Touching folder /jans-cedarling comp-jans-config-api Component affected by issue or PR comp-jans-linux-setup Component affected by issue or PR comp-jans-pycloudlib comp-terraform-provider-jans kind-bug Issue or PR is a bug in existing functionality kind-dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: fix(deps): remediate OpenSSF-reported vulnerable dependencies -autocreated

4 participants