CRITICAL🇬🇧 English

CVE-2026-31789

OpenSSL: heap buffer overflow przy konwersji OCTET STRING na hex (32-bit)

CVSS 9.8v3.1pub. 2026-04-07upd. 2026-05-12

Podatność w OpenSSL polega na przepełnieniu bufora sterty (heap buffer overflow) podczas konwersji nadmiernie dużej wartości OCTET STRING do postaci szesnastkowej na platformach 32-bitowych. W określonych warunkach może prowadzić do crash'u aplikacji lub wykonania kodu kontrolowanego przez atakującego.

Pokaż oryginał (EN)

Issue summary: Converting an excessively large OCTET STRING value to a hexadecimal string leads to a heap buffer overflow on 32 bit platforms. Impact summary: A heap buffer overflow may lead to a crash or possibly an attacker controlled code execution or other undefined behavior. If an attacker can supply a crafted X.509 certificate with an excessively large OCTET STRING value in extensions such as the Subject Key Identifier (SKID) or Authority Key Identifier (AKID) which are being converted to hex, the size of the buffer needed for the result is calculated as multiplication of the input length by 3. On 32 bit platforms, this multiplication may overflow resulting in the allocation of a smaller buffer and a heap buffer overflow. Applications and services that print or log contents of untrusted X.509 certificates are vulnerable to this issue. As the certificates would have to have sizes of over 1 Gigabyte, printing or logging such certificates is a fairly unlikely operation and only 32 bit platforms are affected, this issue was assigned Low severity. The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.

🤖 Analiza AI
Jak działa

Podczas konwersji wartości OCTET STRING do ciągu hex, rozmiar potrzebnego bufora obliczany jest jako iloczyn długości danych wejściowych przez 3. Na platformach 32-bitowych mnożenie to może spowodować przepełnienie liczby całkowitej (integer overflow), w wyniku czego alokowany jest zbyt mały bufor, a następnie dochodzi do zapisu poza jego granicami (heap buffer overflow). Atakujący może dostarczyć spreparowany certyfikat X.509 zawierający nadmiernie dużą wartość OCTET STRING w rozszerzeniach takich jak Subject Key Identifier (SKID) lub Authority Key Identifier (AKID). Podatność jest wyzwalana, gdy aplikacja lub usługa wyświetla lub rejestruje (loguje) treść niezaufanego certyfikatu X.509.

Skutki

Atakujący może doprowadzić do crash'u aplikacji przetwarzającej certyfikat lub — w określonych okolicznościach — do wykonania dowolnego kodu (RCE) bądź innego niezdefiniowanego zachowania. Zagrożone są wyłącznie platformy 32-bitowe.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami (commity opublikowane w repozytorium GitHub OpenSSL). Jeśli natychmiastowa aktualizacja nie jest możliwa, należy unikać logowania lub wyświetlania treści niezaufanych certyfikatów X.509 na platformach 32-bitowych.

Kogo dotyczy

OpenSSL na platformach 32-bitowych — aplikacje i usługi drukujące lub logujące zawartość niezaufanych certyfikatów X.509. Moduły FIPS w wersjach 3.6, 3.5, 3.4, 3.3 oraz 3.0 nie są podatne, ponieważ podatny kod znajduje się poza granicą modułu FIPS. Konkretne podatne wersje wskazane są w referencjach producenta.

Uwagi

Pomimo przypisania przez NVD oceny CVSS 9.8 (CRITICAL), producent (OpenSSL) przypisał tej podatności niską wagę (Low severity) ze względu na ograniczony zakres: dotyczy wyłącznie platform 32-bitowych, a wyzwolenie błędu wymaga przetworzenia certyfikatu o rozmiarze przekraczającym 1 GB, co jest mało prawdopodobnym scenariuszem operacyjnym.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • OpenSSL

    APP
    Openssl
    3.0.0 – 3.0.20 (bez)3.3.0 – 3.3.7 (bez)3.4.0 – 3.4.5 (bez)3.5.0 – 3.5.6 (bez)3.6.0 – 3.6.2 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEMemory
CWE
Referencje

Powiązane podatności

CVE-2026-34182CRITICAL9.1PL ✓ten sam produkt

OpenSSL CMS AuthEnvelopedData — niewystarczająca walidacja wejścia umożliwia atak oracle i bypass integralnośc...

CVE-2022-2274CRITICAL9.8ten sam produkt

The OpenSSL 3.0.4 release introduced a serious bug in the RSA implementation for X86_64 CPUs supporting the AV...

CVE-2021-3711CRITICAL9.8ten sam produkt

In order to decrypt SM2 encrypted data an application is expected to call the API function EVP_PKEY_decrypt()....

CVE-2020-7043CRITICAL9.1ten sam produkt

An issue was discovered in openfortivpn 1.11.0 when used with OpenSSL before 1.0.2. tunnel.c mishandles certif...

CVE-2016-6309CRITICAL9.8ten sam produkt

statem/statem.c in OpenSSL 1.1.0a does not consider memory-block movement after a realloc call, which allows r...