CVE-2026-66035
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
Podatność na przepełnienie bufora sterty przed uwierzytelnieniem w libssh2 do wersji 1.11.1, umożliwiająca złośliwemu serwerowi SSH uszkodzenie metadanych sterty klienta poprzez wysłanie pakietu z rozmiarem mniejszym niż rozmiar bloku szyfru podczas negocjacji szyfrowania Encrypt-then-MAC.
Ocena ryzyka
Atakujący może przejąć kontrolę nad klientem SSH przed uwierzytelnieniem, co może prowadzić do pełnego naruszenia bezpieczeństwa systemu klienta.
Rekomendacja
Zaktualizuj libssh2 do wersji zawierającej poprawkę (commit 42e33d8) lub nowszej.
Inne podatności w libssh2
Zobacz wszystkie- CVE-2026-66034Wysokie
Brak walidacji zakresu w libssh2 do wersji 1.11.1, umożliwiający złośliwemu serwerowi SSH wywołanie odczytu poza zakresem sterty o dowolnej długości oraz zwolnienie niezainicjalizowanego wskaźnika poprzez podsystem publickey.
- CVE-2026-66033Wysokie
Niedomiar liczby całkowitej przed uwierzytelnieniem w funkcji ssh2_cipher_crypt() w libssh2 do wersji 1.11.1, umożliwiający złośliwemu serwerowi SSH spowodowanie awarii klienta poprzez negocjację szyfrów AES-GCM.
- CVE-2026-66032Wysokie
Podwójne zwolnienie pamięci w funkcji sftp_open() w libssh2 do wersji 1.11.1, umożliwiające złośliwemu serwerowi SSH uszkodzenie sterty uwierzytelnionego klienta otwierającego sesję SFTP.
- CVE-2026-58051Średnie
W bibliotece libssh2 w wersjach do 1.11.1 włącznie, podczas rozszerzania listy kluczy publicznych za pomocą SSH2_REALLOC, nowe wpisy nie są zerowane przed ich wypełnieniem. W przypadku błędu parsowania, ścieżka czyszczenia może operować na niezainicjalizowanym wpisie, co prowadzi do wywołania free na nieprzewidywalnym wskaźniku attrs, który może być kontrolowany przez atakującego.
- CVE-2026-58050Wysokie
Podatność w bibliotece libssh2 do wersji 1.11.1 pozwala atakującemu SSH serwerowi na odczytanie kontrolowanej przez siebie 32-bitowej liczby atrybutów z odpowiedzi subsystemu publickey. Liczba ta jest używana do alokacji pamięci bez sprawdzania zakresu, co na platformach 32-bitowych prowadzi do przepełnienia mnożenia i przydzielenia zbyt małego bufora. Następnie złośliwy serwer może zapisać dane poza przydzielonym obszarem, powodując przepełnienie sterty w kliencie libssh2.
- CVE-2025-15661Średnie
Podatność w bibliotece libssh2 do wersji 1.11.1 (załatana w commicie 2dae302) powoduje odczyt poza dozwolonym obszarem sterty w funkcji sftp_symlink() w pliku src/sftp.c. Złośliwy serwer SSH lub atakujący typu man-in-the-middle może wysłać spreparowaną odpowiedź SSH_FXP_NAME, co prowadzi do ujawnienia zawartości pamięci sterty lub awarii systemu.
- CVE-2026-55200Wysokie
Biblioteka libssh2 do wersji 1.11.1 zawiera podatność polegającą na zapisie poza dozwolonym obszarem pamięci w funkcji ssh2_transport_read(). Brak sprawdzania górnego limitu pola packet_length umożliwia zdalnemu atakującemu wysłanie spreparowanego pakietu SSH, co prowadzi do uszkodzenia sterty i potencjalnie zdalnego wykonania kodu.
- CVE-2026-55199Średnie
Podatność w bibliotece libssh2 przed wersją 1.11.1 (załatana w commicie 1762685) umożliwia atak DoS przed uwierzytelnieniem. Złośliwy serwer SSH może wysłać spreparowaną wartość liczby rozszerzeń (nr_extensions=0xFFFFFFFF) w komunikacie SSH_MSG_EXT_INFO, co powoduje zapętlenie procesora klienta na ponad 60 sekund z powodu niesprawdzania wartości zwracanych przez _libssh2_get_string() i braku limitu czasu dla pętli obciążających CPU.
- CVE-2026-25260Wysokie
Podatność na uszkodzenie pamięci podczas dostępu do współdzielonych buforów bez walidacji współbieżnych modyfikacji danych wejściowych użytkownika.
- CVE-2026-7598Wysokie
W bibliotece libssh2 do wersji 1.11.1 wykryto podatność w funkcji userauth_password pliku src/userauth.c. Manipulacja argumentami username_len/password_len prowadzi do przepełnienia liczby całkowitej. Atak może być przeprowadzony zdalnie.
Oryginalny opis (angielski, źródło NVD)
libssh2 through 1.11.1, fixed in commit 42e33d8, contains a pre-authentication heap buffer overflow vulnerability that allows a malicious SSH server to corrupt heap metadata in any connecting client by sending a packet with a packet_length smaller than the cipher's block size during Encrypt-then-MAC cipher negotiation. In the fullpacket() function in src/transport.c, the ETM path allocates a buffer of packet_length bytes but copies blocksize minus one bytes via memcpy, causing an overflow that on 32-bit glibc writes attacker-controlled bytes into an adjacent chunk's SIZE field, enabling tcache bin confusion, overlapping live objects, and function pointer overwrite during the session handshake before authentication.

