FICHE CVE

CVE-2026-44310

Publiée le 2026-05-15 · Dernière modification le 2026-10-26

🇫🇷 EN BREF

Les versions 0.4.0 à 0.14.f de Gitsign sont affectées par une faille qui permet à un acteur malveillant de contourner la vérification de la signature des commits. En fournissant un ensemble de certificats vide et spécifiquement conçu, un attaquant peut provoquer un plantage silencieux que le logiciel interprète à tort comme une vérification réussie. Cette action peut être exécutée via le réseau sans authentification, bien qu'elle nécessite qu'un utilisateur déclenche manuellement le processus de vérification sur le commit malveillant.

CVSS 3.15.4 MOYENNE
Type de faiblesse
Publiée2026-05-15
Dernière modification2026-10-26

DÉTAIL DU VECTEUR CVSS

Vecteur d'attaqueRéseau
Complexité d'attaqueFaible
Privilèges requisAucun
Interaction utilisateurRequise
PortéeInchangée
Impact sur la confidentialitéAucun
Impact sur l'intégritéFaible
Impact sur la disponibilitéFaible

RÉFÉRENCES

Description officielle du NVD (en anglais)

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.