gitsign --verify panics on empty-certificate PKCS7 and exits 0, bypassing exit-code callers
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · Low
- Fix status
- Partial Red Hat: 1 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| sigstore | gitsign | 0.4.0 to before 0.15.0 | 0.15.0 | Patch available | CNA |
| — | github.com/sigstore/gitsign (Go) | 0.4.0 to before 0.15.0 | 0.15.0 | Patch available | GHSA-7c37-gx6w-8vc5 |
- gitsign Vendorsigstore Affected 0.4.0 to before 0.15.0 Fixed in 0.15.0 Patch available CNA
- github.com/sigstore/gitsign (Go) Vendor— Affected 0.4.0 to before 0.15.0 Fixed in 0.15.0 Patch available GHSA-7c37-gx6w-8vc5
Remediation
- Fix · CNA gitsign (sigstore) Fixed in 0.15.0
- Fix · GHSA-7c37-gx6w-8vc5 github.com/sigstore/gitsign (Go) Fixed in 0.15.0 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Trusted Artifact Signer | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-44310
- 2026-10-03 Alias added: GHSA-7c37-gx6w-8vc5
References
More sigstore vulnerabilities
- TI-2022-16356 False positive signature verification in cosign CVSS 3.1CRITICAL 9.8
- TI-2026-36084 sigstore-js: `certificateOIDs` verification constraints are silently dropped and never enforced CVSS 3.1HIGH 7.5
- TI-2024-19670 Cosign vulnerable to machine-wide denial of service via malicious artifacts CVSS 3.1HIGH 7.5
- TI-2026-18290 Fulcio vulnerable to Server-Side Request Forgery (SSRF) via MetaIssuer Regex Bypass CVSS 3.1MEDIUM 5.8
- TI-2026-36085 sigstore-js: Insufficient Verification of Data Authenticity CVSS 3.1MEDIUM 6.5
- TI-2024-19669 Cosign vulnerable to system-wide denial of service via malicious attachments CVSS 3.1MEDIUM 5.9
Sources
- CVE-2026-44310 · CVE Program
- CVE-2026-44310 · NVD
- FIRST EPSS
- GHSA-7c37-gx6w-8vc5 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-44310 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences