CVE-2026-66034
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wyciec wskaźniki sterty, omijając ASLR, oraz uszkodzić stan alokatora sterty, co może prowadzić do wykonania kodu.
Rekomendacja
Zaktualizuj libssh2 do wersji zawierającej poprawkę (commit a13bb6c) lub nowszej.
Inne podatności w libssh2
Zobacz wszystkie- CVE-2026-55200Wysokie
libssh2 1.11.1 (naprawione w commicie 97acf3d) zawiera podatność zapisu poza granicami bufora w ssh2_transport_read(), która nie wymusza górnych ograniczeń pola packet_length. Zdalni atakujący mogą wysyłać spreparowane pakiety SSH z nadmiernie dużymi wartościami packet_length, aby uszkodzić pamięć sterty i uzyskać zdalne wykonanie kodu.
- CVE-2019-3861Średnie
W libssh2 przed wersją 1.8.1 odkryto błąd odczytu poza zakresem podczas parsowania pakietów SSH, w których wartość długości dopełnienia jest większa niż długość pakietu. Zdalny atakujący, który skompromituje serwer SSH, może wywołać odmowę usługi lub odczytać dane z pamięci klienta.
- CVE-2019-3860Średnie
W libssh2 przed wersją 1.8.1 odkryto błąd odczytu poza zakresem podczas parsowania pakietów SFTP z pustymi ładunkami. Zdalny atakujący, który skompromituje serwer SSH, może wywołać odmowę usługi lub odczytać dane z pamięci klienta.
- CVE-2019-3857Wysokie
W libssh2 przed wersją 1.8.1 odkryto błąd przepełnienia liczby całkowitej, który może prowadzić do zapisu poza zakresem podczas parsowania pakietów SSH_MSG_CHANNEL_REQUEST z sygnałem wyjścia. Zdalny atakujący, który skompromituje serwer SSH, może wykonać kod na systemie klienta po połączeniu użytkownika.
- CVE-2019-3856Wysokie
W libssh2 przed wersją 1.8.1 odkryto błąd przepełnienia liczby całkowitej, który może prowadzić do zapisu poza zakresem podczas parsowania żądań monitu klawiatury. Zdalny atakujący, który skompromituje serwer SSH, może wykonać kod na systemie klienta po połączeniu użytkownika.
- CVE-2019-3858Średnie
W libssh2 przed wersją 1.8.1 odkryto błąd odczytu poza zakresem podczas przetwarzania specjalnie spreparowanego pakietu SFTP od serwera. Zdalny atakujący, który skompromituje serwer SSH, może wywołać odmowę usługi lub odczytać dane z pamięci klienta.
- CVE-2019-3855Wysokie
W libssh2 przed wersją 1.8.1 wykryto przepełnienie liczby całkowitej, które może prowadzić do zapisu poza zakresem podczas odczytywania pakietów z serwera. Zdalny atakujący, który przejmie serwer SSH, może wykonać kod na systemie klienta po połączeniu użytkownika.
- CVE-2019-3862Wysokie
W libssh2 przed wersją 1.8.1 wykryto odczyt poza zakresem podczas parsowania pakietów SSH_MSG_CHANNEL_REQUEST z komunikatem o statusie wyjścia i bez danych. Zdalny atakujący, który przejmie serwer SSH, może spowodować odmowę usługi lub odczyt danych z pamięci klienta.
- CVE-2019-3859Krytyczne
W libssh2 przed wersją 1.8.1 wykryto błąd odczytu poza granicami w funkcjach _libssh2_packet_require i _libssh2_packet_requirev. Zdalny atakujący, który skompromituje serwer SSH, może spowodować odmowę usługi lub odczyt danych z pamięci klienta.
- 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.
Oryginalny opis (angielski, źródło NVD)
libssh2 through 1.11.1, fixed in commit a13bb6c, contains a missing bounds check vulnerability that allows a malicious SSH server to trigger an arbitrary-length heap out-of-bounds read and a free of an uninitialized pointer via the publickey subsystem. In libssh2_publickey_list_fetch(), the version 1 response parser reads a server-controlled comment_len value and advances the parse pointer without verifying sufficient bytes remain in the buffer, causing the out-of-bounds read to leak heap pointers from adjacent allocations defeating ASLR, followed by heap allocator state corruption when the error cleanup path frees an uninitialized pointer from a non-zeroed realloc() region.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

