Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-44309 EUVD-2026-30563GHSA-7rmh-48mx-2vwcGO-2026-5233

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

Published May 15, 2026 · Updated May 15, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
sigstore gitsign < 0.16.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 gitsign 0.16.0-1 —
Debian 13 gitsign No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 gitsign No fix yet —
Ubuntu 25.10 gitsign No fix yet —
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS gitsign No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 govulncheck-vulndb 0.0.20260723T184607-160000.1.1 openSUSE-SU-2026:21483-1

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/sigstore/gitsign < 0.16.0 0.16.0 GHSA-7rmh-48mx-2vwc

Advisories 1

References