Cosign's verify-blob-attestation reports false positive when payload parsing fails
🔗 CVE IDs covered (1)
📋 Description
Description
cosign verify-blob-attestation may erroneously report a "Verified OK" result for attestations with malformed payloads or mismatched predicate types. For old-format bundles and detached signatures, this was due to a logic flaw in the error handling of the predicate type validation. For new-format bundles, the predicate type validation was bypassed completely.
Impact
When cosign verify-blob-attestation is used without --check-claims set to true, an attestation that has a valid signature but a malformed or unparsable payload would be incorrectly validated. Additionally, systems relying on --type <predicate type> to reject attestations with mismatched types would be lead to trust the unexpected attestation type.
Patches
v3.0.6, v2.6.3
Workarounds
Always set --check-claims=true for attestation verification.
🎯 Affected products3
- go/github.com/sigstore/cosign/v3:>= 3.0.0, < 3.0.6
- go/github.com/sigstore/cosign/v2:< 2.6.3
- go/github.com/sigstore/cosign:<= 1.13.6
🔗 References (7)
- https://github.com/sigstore/cosign/security/advisories/GHSA-w6c6-c85g-mmv6
- https://nvd.nist.gov/vuln/detail/CVE-2026-39395
- https://github.com/sigstore/cosign/pull/4801
- https://github.com/sigstore/cosign/commit/f1ad3ee952313be5d74a49d67ba0aa8d0d5e351f
- https://github.com/sigstore/cosign/releases/tag/v2.6.3
- https://github.com/sigstore/cosign/releases/tag/v3.0.6
- https://github.com/advisories/GHSA-w6c6-c85g-mmv6