PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-44310 sigstore CVE debrief

A vulnerability in Gitsign versions 0.4.0 through 0.14.x allows an attacker to craft a CMS/PKCS7 signed message with an empty certificate set that causes a panic during verification. Due to improper error handling in the verification code path, this panic is silently recovered and the process exits with code 0, causing automated verification systems to incorrectly interpret the failed verification as successful. This affects the `gitsign --verify` command used for GPG-compatible Git commit verification.

Vendor
sigstore
Product
gitsign
CVSS
MEDIUM 5.4
CISA KEV
Not listed in stored evidence
Original CVE published
2026-05-15
Original CVE updated
2026-05-18
Advisory published
2026-05-15
Advisory updated
2026-05-18

Who should care

Organizations using Gitsign for Git commit verification in CI/CD pipelines, software supply chain security teams, and developers relying on `gitsign --verify` for commit signature validation in automated workflows.

Technical summary

The vulnerability exists in `pkg/git/verifier.go` where `CertVerifier.Verify()` unconditionally accesses `certs[0]` after calling `sd.GetCertificates()` without validating that the returned certificate slice is non-empty. A structurally valid DER-encoded CMS/PKCS7 message with no certificates causes an index-out-of-range panic. The panic recovery mechanism in `internal/io/streams.go`'s `Wrap()` function silently converts this to a `nil` return, and `main.go` exits with code 0. This causes any verification caller that checks only the process exit code to incorrectly treat the failed verification as successful. The issue affects Gitsign versions 0.4.0 through 0.14.x and is fixed in 0.15.0.

Defensive priority

medium

Recommended defensive actions

  • Upgrade Gitsign to version 0.15.0 or later to address the verification bypass vulnerability
  • Review any automated Git commit verification pipelines that rely solely on exit codes from `gitsign --verify` for the affected version range
  • Consider adding secondary verification checks beyond exit code validation for critical code signing workflows
  • Audit commit verification logs for any anomalous successful verifications during the affected period if Gitsign 0.4.0-0.14.x was in use

Evidence notes

The vulnerability stems from unconditional dereference of `certs[0]` in `CertVerifier.Verify()` at `pkg/git/verifier.go` after `sd.GetCertificates()` returns an empty slice without error. The panic is recovered by `internal/io/streams.go`'s `Wrap()` function, which returns `nil` instead of propagating an error. The `main.go` then exits with code 0, causing exit-code-only verification callers to misinterpret the result.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-44310 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-44310

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-44310 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-44310

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.