CVE-2026-66032
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wykorzystać podwójne zwolnienie do uzyskania nakładających się alokacji i nadpisania wskaźników funkcji, co może prowadzić do wykonania kodu.
Rekomendacja
Zaktualizuj libssh2 do wersji zawierającej poprawkę (commit 5e47761) lub nowszej.
Inne podatności w libssh2
Zobacz wszystkie- CVE-2026-66035Wysokie
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.
- 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-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 5e47761, contains a double-free vulnerability in the sftp_open() function in src/sftp.c that allows a malicious SSH server to corrupt the heap of any authenticated client opening an SFTP session. When a server responds to SSH_FXP_OPEN with SSH_FXP_STATUS containing FX_OK, the response data buffer is freed, and if a subsequent sftp_packet_require() call returns a specific error such as LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED, the same pointer is freed a second time, enabling tcache dup conditions on glibc systems that allow overlapping allocations and function pointer overwrites.

