Skip to content

fix(deps): bump sigstore-go, x/text and others to clear govulncheck advisories - #36

Open
nianyush wants to merge 1 commit into
mainfrom
fix/govulncheck-2026-07
Open

fix(deps): bump sigstore-go, x/text and others to clear govulncheck advisories#36
nianyush wants to merge 1 commit into
mainfrom
fix/govulncheck-2026-07

Conversation

@nianyush

Copy link
Copy Markdown

Summary

Bumps dependencies to remediate govulncheck findings on the current branch. All eight advisories addressed here were reachable (called) from cosign code, per govulncheck ./....

Advisory Module From → To
GO-2026-5970 golang.org/x/text v0.37.0 → v0.40.0
GO-2026-5952 sigstore/sigstore-go v1.1.4 → v1.2.2
GO-2026-5853 sigstore/fulcio v1.8.5 → v1.8.6
GO-2026-5851 sigstore/timestamp-authority v2.0.5 → v2.1.2
GO-2026-5763 sigstore/timestamp-authority v2.0.5 → v2.1.2
GO-2026-5778 sigstore/rekor v1.5.1 → v1.5.3
GO-2026-5547 in-toto/in-toto-golang v0.10.0 → v0.11.0
GO-2026-5942 golang.org/x/net v0.55.0 → v0.56.0

sigstore-go v1.2.2 pulled newer transitive deps, which also cleared two informational (not-called) aws-sdk-go findings.

Before: 8 called + 3 not-called vulnerabilities.
After: 1 called, 0 not-called.

Remaining (no upstream fix available)

  • GO-2026-5932golang.org/x/crypto/openpgp is deprecated/unmaintained; Fixed in: N/A. Reached transitively via rekor's PGP pki type, so it can't be cleared with a version bump.

Test adjustments (test-only, no runtime behavior changed)

Two upstream behavior changes surfaced in existing tests and required fixes:

  • internal/pkg/cosign/tsa/mock — timestamp-authority >= v2.1.0 now validates the TSA certificate chain at the timestamp's genTime rather than time.Now() (a verification hardening). The mock previously minted a chain valid only "now", so timestamps dated in the past (used to prove a signature predates an expired signing cert) failed. The mock now anchors the generated chain's validity window to the requested Time.
  • pkg/cosign/verify_bundle_test — sigstore-go >= v1.2.0 now parses and validates the tlog entry's canonicalized body. The makeTlogEntry helper used an empty {} body; it now uses valid Rekor v1/v2 hashedrekord bodies (borrowed from sigstore-go's own fixtures).

Verification

  • go build ./... — passes
  • go vet on changed packages — passes
  • govulncheck ./... — only GO-2026-5932 (no fix) remains
  • Unit tests pass across ./cmd/..., ./pkg/..., ./internal/... except pkg/oci/layout TestReadWrite, which is a pre-existing failure on main (deterministic, unrelated to this change) and left out of scope.

…dvisories

Bump dependencies to remediate the following govulncheck findings, all of
which were reachable (called) from cosign code:

- GO-2026-5970 (golang.org/x/text)          v0.37.0 -> v0.40.0
- GO-2026-5952 (sigstore/sigstore-go)        v1.1.4  -> v1.2.2
- GO-2026-5853 (sigstore/fulcio)             v1.8.5  -> v1.8.6
- GO-2026-5851 (sigstore/timestamp-authority) v2.0.5 -> v2.1.2
- GO-2026-5763 (sigstore/timestamp-authority) v2.0.5 -> v2.1.2
- GO-2026-5778 (sigstore/rekor)              v1.5.1  -> v1.5.3
- GO-2026-5547 (in-toto/in-toto-golang)      v0.10.0 -> v0.11.0
- GO-2026-5942 (golang.org/x/net)            v0.55.0 -> v0.56.0

After the bumps govulncheck reports 1 remaining finding, GO-2026-5932
(golang.org/x/crypto/openpgp), which has no fixed version available
upstream (the package is deprecated/unmaintained).

Two test-only adjustments were required by upstream behavior changes; no
runtime behavior changed:

- internal/pkg/cosign/tsa/mock: timestamp-authority >= v2.1.0 validates the
  TSA certificate chain at the timestamp's genTime rather than time.Now().
  The mock now anchors the generated chain's validity window to the
  requested Time so timestamps dated in the past still verify.
- pkg/cosign/verify_bundle_test: sigstore-go >= v1.2.0 parses and validates
  the tlog entry canonicalized body, so the test helper now uses valid
  Rekor v1/v2 hashedrekord bodies instead of an empty object.
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