gitsign --verify panics on empty-certificate PKCS7 and exits 0, bypassing exit-code callers
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| sigstore | gitsign | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Sigstore | Gitsign |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-7c37-gx6w-8vc5 | gitsign --verify panics on empty-certificate PKCS7 and exits 0, bypassing exit-code callers |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.131% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Sigstore
Sigstore gitsign |
|
| Vendors & Products |
Sigstore
Sigstore gitsign |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Gitsign is a keyless Sigstore to signing tool for Git commits with your a GitHub / OIDC identity. From 0.4.0 to before 0.15.0, CertVerifier.Verify() in pkg/git/verifier.go unconditionally dereferences certs[0] after sd.GetCertificates() without checking the slice length. A CMS/PKCS7 signed message with an empty certificate set is a structurally valid DER payload; GetCertificates() returns an empty slice with no error, causing an immediate index-out-of-range panic. On the gitsign --verify code path (the GPG-compatible mode invoked by git verify-commit), the panic is silently recovered by internal/io/streams.go's Wrap() function, which returns nil instead of an error. main.go then exits with code 0, causing exit-code-only verification callers to interpret the failed verification as success. This vulnerability is fixed in 0.15.0. | |
| Title | gitsign --verify panics on empty-certificate PKCS7 and exits 0, bypassing exit-code callers | |
| Weaknesses | CWE-129 CWE-390 |
|
| References |
| |
| Metrics |
cvssV3_1
|