Source: gitsign Version: 0.13.0-2 Severity: important Tags: security upstream X-Debbugs-Cc: [email protected], Debian Security Team <[email protected]>
Hi, The following vulnerabilities were published for gitsign. CVE-2026-44309[0]: | 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. CVE-2026-44310[1]: | 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. If you fix the vulnerabilities please also make sure to include the CVE (Common Vulnerabilities & Exposures) ids in your changelog entry. For further information see: [0] https://security-tracker.debian.org/tracker/CVE-2026-44309 https://www.cve.org/CVERecord?id=CVE-2026-44309 https://github.com/sigstore/gitsign/security/advisories/GHSA-7rmh-48mx-2vwc [1] https://security-tracker.debian.org/tracker/CVE-2026-44310 https://www.cve.org/CVERecord?id=CVE-2026-44310 https://github.com/sigstore/gitsign/security/advisories/GHSA-7c37-gx6w-8vc5 Regards, Salvatore

