Katalog CVE

CVE-2026-13758

NiskieCVSS 3.7
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.23%

Percentyl 13 — wyżej niż 13% wszystkich znanych CVE

Streszczenie

Podatność w bibliotece CryptX dla Perla przed wersją 0.088_001 powoduje, że porównanie tagów uwierzytelniania AEAD w ścieżce decrypt_done nie jest wykonywane w stałym czasie. Funkcja decrypt_done($tag) używa memNE (memcmp() != 0), co przerywa działanie przy pierwszej różnej bajcie, przez co czas wykonania zależy od liczby pasujących początkowych bajtów.

Ocena ryzyka

Atakujący może wykorzystać różnicę czasową jako wyrocznię do odzyskania oczekiwanego tagu bajt po bajcie, co umożliwia fałszowanie wiadomości uwierzytelnionych. Dotyczy to wszystkich pięciu trybów AEAD: GCM, CCM, ChaCha20Poly1305, EAX i OCB.

Rekomendacja

Należy natychmiast zaktualizować bibliotekę CryptX do wersji 0.088_001 lub nowszej, która zawiera poprawkę zapewniającą porównanie tagów w stałym czasie.

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

CryptX versions before 0.088_001 for Perl compare AEAD authentication tags in non-constant time in the streaming decrypt_done path. The decrypt_done($tag) form compares it against the computed tag with memNE (memcmp() != 0), which short-circuits on the first differing byte, so its run time depends on the number of matching leading bytes. This affects all five AEAD modes: GCM, CCM, ChaCha20Poly1305, EAX and OCB. The one-shot *_decrypt_verify helpers are unaffected; they verify the tag inside libtomcrypt with a constant-time comparison. The timing difference is a tag-verification oracle. An attacker who can submit many candidate tags for the same nonce, ciphertext and associated data while measuring the timing precisely enough may recover the expected tag byte by byte and forge a message that verifies.

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