Katalog CVE

CVE-2026-44310

ŚrednieCVSS 5.4
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.11%

Percentyl 1 - wyżej niż 1% wszystkich znanych CVE

Streszczenie

Gitsign to narzędzie do bezkluczowego podpisywania commitów Git tożsamością GitHub/OIDC. W wersjach od 0.4.0 do przed 0.15.0 funkcja CertVerifier.Verify() bezwarunkowo odwołuje się do certs[0] po sd.GetCertificates() bez sprawdzenia długości slice; podpisana wiadomość CMS/PKCS7 z pustym zbiorem certyfikatów powoduje panic index-out-of-range, który w ścieżce gitsign --verify jest po cichu odzyskiwany i zwraca kod wyjścia 0, przez co weryfikacja kończy się fałszywym sukcesem. Podatność naprawiono w wersji 0.15.0.

Ocena ryzyka

Nieudana weryfikacja podpisu może zostać zinterpretowana jako sukces, co pozwala na obejście kontroli integralności commitów.

Rekomendacja

Zaktualizuj Gitsign do wersji 0.15.0 lub nowszej.

Inne podatności w Gitsign

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS