CVE-2026-39395: Sigstore Cosign validation bypass in verify-blob-attestation

CVE-2026-39395 · Severity: medium · CVSS 4.3 · Published 2026-04-07

Sigstore Cosign, a tool used to sign and verify the integrity of software containers and binaries, contains a flaw in how it validates certain security attestations. An attacker could provide a malformed or mismatched attestation that the tool incorrectly marks as 'Verified OK,' potentially leading users to trust unverified or incorrect software metadata. This issue affects the 'verify-blob-attestation' command and can be mitigated by updating to the latest version or ensuring specific claim-checking flags are enabled.

Technologies: github.com/sigstore/cosign (Go), github.com/sigstore/cosign/v2 (Go), github.com/sigstore/cosign/v3 (Go). Vendors: Go, Sigstore.

Quick answers

Is CVE-2026-39395 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-39395 being exploited in the wild.
How severe is CVE-2026-39395?
Medium severity, with a CVSS score of 4.3, published 7 April 2026.
Which products and versions are affected?
github.com/sigstore/cosign (Go) <= 1.13.6, SEMVER:introduced=0, SEMVER:introduced=3.0.0,fixed=3.0.6; github.com/sigstore/cosign/v2 (Go) < 2.6.3, SEMVER:introduced=0,fixed=2.6.3; github.com/sigstore/cosign/v3 (Go) >= 3.0.0, < 3.0.6, SEMVER:introduced=3.0.0,fixed=3.0.6; Sigstore Cosign < 2.6.3, >= 3.0.0, < 3.0.6.
Is there a fix for CVE-2026-39395?
Yes. github.com/sigstore/cosign (Go): upgrade to 3.0.6 or later; github.com/sigstore/cosign/v2 (Go): upgrade to 2.6.3 or later; github.com/sigstore/cosign/v3 (Go): upgrade to 3.0.6 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-39395 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-39395?
Check whether you run github.com/sigstore/cosign (Go), github.com/sigstore/cosign/v2 (Go), github.com/sigstore/cosign/v3 (Go) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • github.com/sigstore/cosign (Go): upgrade to 3.0.6 or later
    go get github.com/sigstore/cosign@v3.0.6
  • github.com/sigstore/cosign/v2 (Go): upgrade to 2.6.3 or later
    go get github.com/sigstore/cosign/v2@v2.6.3
  • github.com/sigstore/cosign/v3 (Go): upgrade to 3.0.6 or later
    go get github.com/sigstore/cosign/v3@v3.0.6

Technical details

A logic flaw in Sigstore Cosign's 'verify-blob-attestation' command leads to improper validation of attestation payloads. In older bundle formats and detached signatures, error handling during predicate type validation was flawed; in newer formats, the validation was bypassed entirely. This allows an attestation with a valid signature but a malformed payload or incorrect type to return a successful verification result if '--check-claims' is not set to true. Attackers can exploit this to bypass type-based rejection policies. The vulnerability is addressed in versions 3.0.6 and 2.6.3.

Affected products

  • Sigstore Cosign < 2.6.3, >= 3.0.0, < 3.0.6

Identifiers

  • CVE-2026-39395
  • GHSA-w6c6-c85g-mmv6
  • GO-2026-5694

Timeline

  • 2026-04-06: advisory: GitHub Security Advisory published
  • 2026-04-07: disclosed: CVE-2026-39395 published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.