Bug 2477933 (CVE-2026-44309) - CVE-2026-44309 github.com/sigstore/gitsign: github.com/go-git/go-git: Gitsign: Signature verification bypass due to object re-encoding
Summary: CVE-2026-44309 github.com/sigstore/gitsign: github.com/go-git/go-git: Gitsign...
Keywords:
Status: NEW
Alias: CVE-2026-44309
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2489139
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-05-15 17:01 UTC by OSIDB Bzimport
Modified: 2026-06-16 11:35 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-05-15 17:01:22 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.