CVE-2026-58051
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Złośliwy serwer SSH oferujący podsystem kluczy publicznych może wykorzystać tę podatność do wywołania błędu typu use-after-free lub podwójnego zwolnienia pamięci w kliencie libssh2, co może prowadzić do zdalnego wykonania kodu lub awarii aplikacji.
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę libssh2 do wersji 1.11.2 lub nowszej, która zawiera poprawkę inicjalizującą nowe wpisy przed ich użyciem. Jeśli aktualizacja nie jest możliwa, należy ograniczyć zaufanie do serwerów SSH oferujących podsystem kluczy publicznych.
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 grows its publickey list with SSH2_REALLOC but does not zero-initialize new entries before parsing populates them, so a parse failure reaching the cleanup path leaves libssh2_publickey_list_free operating on an uninitialized entry. A malicious SSH server offering the publickey subsystem can use a malformed response to make cleanup free an uninitialized, attacker-influenceable attrs pointer in a connecting libssh2 client.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

