Skip to main content
← All vulnerabilities
CVE-2026-44309GHSA-7RMH-48MX-2VWCGO-2026-5233

gitsign verify accepts signatures over go-git-normalized bytes, enabling trust confusion on malformed commits

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.16.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

Gitsign is a keyless Sigstore to signing tool for Git commits with your a GitHub / OIDC identity. Prior to 0.16.0, gitsign verify and gitsign verify-tag re-encode commit/tag objects through go-git's EncodeWithoutSignature before checking the signature, instead of verifying against the raw git object bytes. For malformed objects with duplicate tree headers, git-core and go-git parse different trees: git-core uses the first, go-git uses the second. A signature crafted over the go-git-normalized form (second tree) passes gitsign verify while git-core resolves the commit to a completely different tree. This breaks the invariant that a verified signature, the commit semantics git-core presents to users, and the object hash logged in Rekor all refer to the same content. This vulnerability is fixed in 0.16.0.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • sigstore gitsign

    fixed in 0.16.0

  • github.com/sigstore/gitsignGo

    fixed in 0.16.0

References 1

GitHub · sigstore/gitsign