HIGH🇬🇧 English

CVE-2026-66033

Libssh2: integer underflow przed uwierzytelnieniem prowadzący do crash klienta

CVSS 8.7v4.0pub. 2026-07-24upd. 2026-07-30

Biblioteka libssh2 w wersjach do 1.11.1 zawiera podatność integer underflow w funkcji ssh2_cipher_crypt() w pliku src/openssl.c, umożliwiającą złośliwemu serwerowi SSH zdalne awaryjne zakończenie procesu łączącego się klienta. Podatność jest szczególnie niebezpieczna, ponieważ do jej wykorzystania nie jest wymagane żadne uwierzytelnienie.

Pokaż oryginał (EN)

libssh2 through 1.11.1, fixed in commit a2ed82d, contains a pre-authentication integer underflow vulnerability in the ssh2_cipher_crypt() function in src/openssl.c that allows a malicious SSH server to crash any connecting client by negotiating AES-GCM ciphers during handshake. Attackers can exploit the underflow in the expression computing blocksize minus aadlen minus authentication tag length to trigger an out-of-bounds read and a memcpy call with a near-SIZE_MAX length argument, causing immediate process crash before any authentication occurs.

🤖 Analiza AI
Jak działa

Podczas uzgadniania połączenia (handshake) złośliwy serwer SSH negocjuje szyfry AES-GCM. W funkcji ssh2_cipher_crypt() dochodzi do integer underflow w wyrażeniu obliczającym rozmiar bloku pomniejszony o wartości aadlen i długości tagu uwierzytelniającego (blocksize minus aadlen minus authentication tag length). Wynikowy błąd powoduje out-of-bounds read oraz wywołanie funkcji memcpy z argumentem długości bliskim SIZE_MAX. Skutkuje to natychmiastowym crash-em procesu klienta, jeszcze przed jakimkolwiek etapem uwierzytelniania.

Skutki

Atakujący kontrolujący serwer SSH może spowodować natychmiastowe awaryjne zakończenie procesu każdego klienta korzystającego z libssh2, który spróbuje się z nim połączyć, co skutkuje odmową usługi (DoS). Podatność jest eksploatowalna zdalnie, bez uwierzytelnienia i bez interakcji użytkownika.

Mitygacja

Należy zaktualizować libssh2 do wersji zawierającej fix z commitu a2ed82d40964bbc0d64cd717aa0a5a892117d2e6. Szczegóły dostępne w referencjach producenta (GitHub pull request #2401). Do czasu aktualizacji można rozważyć ograniczenie dostępu do niezaufanych serwerów SSH lub wyłączenie obsługi szyfrów AES-GCM w konfiguracji klienta, jeśli biblioteka to umożliwia.

Kogo dotyczy

Libssh2 we wszystkich wersjach do 1.11.1 włącznie (podatność naprawiona w commicie a2ed82d).

Uwagi

Podatność dotyczy wyłącznie klientów SSH korzystających z libssh2 — atakujący musi kontrolować serwer SSH, z którym łączy się ofiara. Fix wprowadzony w commicie a2ed82d; szczegółowy opis techniczny dostępny w referencji VulnCheck.

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
  • Libssh2

    APP
    Libssh2
    ≤ 1.11.1
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Memory
CWE
Referencje

Powiązane podatności

CVE-2026-55200CRITICAL9.2PL ✓ten sam produkt

Zapis poza granicami bufora w libssh2 — RCE przez SSH

CVE-2019-3859CRITICAL9.1PL ✓ten sam produkt

Out-of-bounds read w libssh2 — DoS i wyciek pamięci klienta

CVE-2026-66034HIGH7.7PL ✓ten sam produkt

Libssh2: heap out-of-bounds read i free niezainicjowanego wskaźnika w podsystemie publickey

CVE-2026-66032HIGH8.7PL ✓ten sam produkt

Double-free w libssh2 sftp_open() umożliwia uszkodzenie sterty klienta

CVE-2026-66035HIGH7.7PL ✓ten sam produkt

Libssh2 — pre-auth heap buffer overflow w negocjacji ETM