Skip to content

chore(deps): bump sigstore-java to 2.4.0 and hold its Apache HttpComponents past their advisories - #1672

Merged
HuiJun merged 1 commit into
developfrom
chore/sigstore-java-2.4
Oct 29, 2026
Merged

HuiJun merged 1 commit into
developfrom
chore/sigstore-java-2.4

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

What and why

Supersedes Dependabot's #1648, which bumps dev.sigstore:sigstore-java 1.3.0 → 2.4.0 in client/java and fails make audit-java: the 2.x line adds a google-http-client-apache-v5 transport that pulls httpclient5 5.3.1 and httpcore5 / httpcore5-h2 5.2.x, which osv-scanner reports against GHSA-hjcp-jmpx-g3qm, GHSA-hf6x-8p5f-cgmf and GHSA-v3jc-474w-2wm6 (the Java client tests and Magic MDK plugin jobs of its run both fail on exactly those three).

This PR makes the same bump (sigstore.version 2.4.0 in client/java/pom.xml) and holds the new transitives past their advisories the way #1602 holds grpc, Bouncy Castle and Guava: each tree's parent pom.xml manages them in <dependencyManagement>, no direct dependency added.

artifact path before after clears
org.apache.httpcomponents.client5:httpclient5 sigstore-java → google-http-client-apache-v5 5.3.1 5.6.5 GHSA-hjcp-jmpx-g3qm (fixed ≥ 5.6.3)
org.apache.httpcomponents.core5:httpcore5 same 5.2.5 5.4.4 GHSA-hf6x-8p5f-cgmf (fixed ≥ 5.4.3)
org.apache.httpcomponents.core5:httpcore5-h2 same 5.2.4 5.4.4 GHSA-v3jc-474w-2wm6 (fixed ≥ 5.4.3)

As in #1602 the versions are the current patch release of the same minor rather than the bare floor; httpclient5 5.6.5 itself declares httpcore5 5.4.4, so the two pins agree. The pins go in all three trees (client/java, editors/mdk, editors/syson) because a consumer's own management decides a transitive's version — the client's pins do not carry over, which is why #1648 also fails the MDK job. In editors/syson they sit before the Spring Boot BOM import, as the existing overrides do.

sigstore-java 2.x's breaking changes (CHANGELOG) are on the signing side (KeylessSigner algorithm registry, SigningConfig, rekor v2 DSSE logging); the client only verifies, through KeylessVerifier, VerificationOptions.CertificateMatcher, TrustedRootProvider, Bundle.from and StringMatcher, all of which compile unchanged. The other transitives sigstore-java 2.4.0 brings (grpc 1.85.1, Bouncy Castle 1.86, Guava 33.7.2-jre) already match the existing pins.

How it was verified

The java-test, mdk-plugin and syson-plugin job steps, run locally against the pinned bin/sysml-grpc, osv-scanner 2.7.0 from scripts/download-sca-tools.sh:

  • JDK 17: make audit-java JAVA_PROJECT_DIRS=client/java — No issues found (40 packages); mvn -B -f client/java/pom.xml install -Dopensysml.requireService=true — BUILD SUCCESS, 342 tests, 0 failures, 1 skipped (the env-gated pinned-release case, as on develop), conformance module 37 tests, 0 failures.
  • JDK 17: mvn -B -f editors/mdk/pom.xml verify -Dopensysml.requireService=true — BUILD SUCCESS, 48 + 16 tests, 0 failures; make audit-java JAVA_PROJECT_DIRS=editors/mdk — No issues found (47 packages).
  • JDK 21: mvn -B -f editors/syson/pom.xml install -Dopensysml.requireService=true — BUILD SUCCESS, 73 tests, 0 failures; make audit-java JAVA_PROJECT_DIRS=editors/syson — No issues found (63 packages).
  • python3 scripts/changelog.py check passes.

Checklist

  • make test and make lint pass locally — no Go touched; the three Maven suites above
  • Tests added or updated for the change — a dependency pin; the existing audit-java gate is the test
  • Documentation extended where it already covers the surface — none covers these pins
  • Changelog entry added as changes/unreleased/sigstore-java-2.4.security.md
  • baselines regenerated and make docs-counts run if a gate count moved — none moved
  • No internal work-item labels in the body, docs, or changelog

Link to Devin session: https://nasa-jpl-demo.devinenterprise.com/sessions/11e2479f435a4bf7a432ec234313d8cd
Open in Devin Desktop: https://nasa-jpl-demo.devinenterprise.com/desktop/session/11e2479f435a4bf7a432ec234313d8cd?variant=devin
Requested by: @HuiJun

…onents past their advisories

sigstore-java 2.4.0 brings google-http-client-apache-v5, whose httpclient5 5.3.1
and httpcore5/httpcore5-h2 5.2.x osv-scanner flags (GHSA-hjcp-jmpx-g3qm,
GHSA-hf6x-8p5f-cgmf, GHSA-v3jc-474w-2wm6). The three Maven trees manage them at
5.6.5 / 5.4.4 beside the existing gRPC, Bouncy Castle and Guava pins, so
make audit-java is clean again. Supersedes the Dependabot bump of the client pom.

Co-Authored-By: jason.han <hanhuijun@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration
devin-ai-integration Bot marked this pull request as ready for review October 29, 2026 03:40

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

@HuiJun
HuiJun merged commit 4c873db into develop Oct 29, 2026
42 checks passed
@HuiJun
HuiJun deleted the chore/sigstore-java-2.4 branch October 29, 2026 04:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant