CVE-2026-42189
WysokieStreszczenie
W bibliotece russh, będącej klientem i serwerem SSH w języku Rust, przed wersją 0.60.1 występuje podatność na odmowę usługi w obsłudze uwierzytelniania interaktywnego z użyciem klawiatury. Złośliwy klient może spowodować awarię serwera russh, który implementuje to uwierzytelnianie, wysyłając jeden źle sformatowany pakiet.
Ocena ryzyka
Podatność ta może prowadzić do awarii serwera, co skutkuje przerwaniem dostępności usług dla użytkowników. Atakujący nie potrzebuje żadnych poświadczeń, co zwiększa ryzyko wykorzystania tej luki.
Rekomendacja
Zaleca się aktualizację biblioteki russh do wersji 0.60.1 lub nowszej, aby usunąć tę podatność. Należy również monitorować logi serwera w celu wykrywania potencjalnych prób ataków.
Inne podatności w russh
Zobacz wszystkie- CVE-2026-68930Średnie
Biblioteka Russh w wersji przed 0.62.5 umożliwia wywoływanie callbacków Handlera dla identyfikatorów kanałów, które nigdy nie zostały otwarte lub potwierdzone. Problem został naprawiony w wersji 0.62.5.
- CVE-2026-73489Średnie
Russh przed wersją 0.62.4 ma podatność na odmowę usługi. Uwierzytelniony klient SSH może wysłać żądanie kanału pty-req z więcej niż 130 rekordami trybu terminala. Parser w russh/src/server/encrypted.rs przechowuje tryby w stałej tablicy 130-elementowej, ale kontynuuje zwiększanie licznika, co prowadzi do wyjścia poza zakres i paniki przed uruchomieniem handlera pty_request.
- CVE-2026-73430Średnie
Russh to biblioteka SSH klienta i serwera w języku Rust. Przed wersją 0.62.4 nieuwierzytelniony klient SSH może spowodować odmowę usługi, wysyłając SSH_MSG_KEX_ECDH_INIT z 32-bajtową wartością Q_C składającą się z samych zer. Funkcja Curve25519Kex::server_dh w russh/src/kex/curve25519.rs akceptuje zerową wartość publiczną peer i oblicza zerowy wspólny sekret, po czym compute_exchange_hash wywołuje encode_mpint w russh/src/kex/mod.rs i indeksuje poza koniec danych wejściowych podczas pomijania wiodących zer. Panika występuje przed uwierzytelnieniem i kończy zadanie wymiany kluczy serwera. Problem naprawiono w wersji 0.62.4.
- CVE-2026-73429Średnie
Russh to biblioteka SSH klienta i serwera w języku Rust. Przed wersją 0.62.4 złośliwy serwer SSH może spowodować awarię sesji klienta russh za pomocą nieprawidłowej odpowiedzi KEX_ECDH_REPLY zawierającej wartość efemeryczną serwera, która nie ma 32 bajtów. Funkcja Curve25519Kex::compute_shared_secret po stronie klienta w russh/src/kex/curve25519.rs przekazuje zdekodowaną wartość exchange.server_ephemeral do clone_from_slice bez walidacji jej długości, co powoduje deterministyczną panikę przed weryfikacją klucza hosta serwera. Panika kończy zadanie sesji klienta i objawia się jako JoinError, podczas gdy proces osadzający zwykle pozostaje uruchomiony. Problem naprawiono w wersji 0.62.4.
- CVE-2026-48110Wysokie
Podatność w bibliotece Russh (Rust SSH client & server) od wersji 0.34.0 do przed 0.61.0. Zdalny peer SSH może wysłać nadmiernie duże lub źle sformatowane pola z prefiksem długości, powodując alokację pamięci lub próbę alokacji przed odrzuceniem danych, co może prowadzić do odmowy usługi lub innych problemów.
- CVE-2026-48108Średnie
Russh przed wersją 0.61.0 nie egzekwuje ściśle reguł identyfikacji SSH. Czytnik identyfikacji po stronie serwera używa liberalnej ścieżki, pozwalając na linie przedbanerowe od klienta i nie ogranicza ich liczby. Zdalny atakujący może utrzymywać zasoby połączenia w fazie przed uwierzytelnieniem, wysyłając nieprawidłowe dane identyfikacyjne.
- CVE-2026-48107Średnie
Russh (Rust SSH client & server library) w wersjach od 0.37.0 do 0.61.0 zawiera podatność w ścieżce uwierzytelniania keyboard-interactive klienta. Złośliwy serwer SSH może wysłać USERAUTH_INFO_REQUEST z kontrolowaną liczbą promptów, a klient używa tej liczby bezpośrednio w Vec::with_capacity(...) przed walidacją, co może prowadzić do problemów z pamięcią.
- CVE-2026-46705Średnie
Russh (biblioteka SSH w Rust) przed wersją 0.61.0 zawiera podatność w ścieżce uwierzytelniania serwera, gdzie stan wewnętrzny uwierzytelniania nie jest resetowany przy zmianie nazwy użytkownika lub usługi między żądaniami. Może to wpłynąć na późniejsze żądania dla innego (użytkownik, usługa).
- CVE-2026-46702Wysokie
Biblioteka Russh (Rust SSH) w wersjach od 0.34.0 do 0.61.1 ma podatność związaną z kompresją SSH. Po włączeniu kompresji zdalny peer może wysłać skompresowany pakiet, który po dekompresji jest znacznie większy niż dozwolony rozmiar, co prowadzi do przeciążenia zasobów.
- CVE-2026-46673Wysokie
Podatność w bibliotece Russh (Rust SSH client & server) przed wersją 0.60.3 w klasie CryptoVec umożliwia niekontrolowany wzrost pojemności, niekontrolowaną arytmetykę długości oraz niebezpieczne ścieżki alokacji/blokowania. Lokalni agenci SSH mogą dostarczyć kontrolowane przez atakującego długości ramek przed walidacją, a w starszych wersjach (przed 0.58.0) zdalny ruch SSH również docierał do CryptoVec przez bufory transportowe i kompresyjne.
Oryginalny opis (angielski, źródło NVD)
Russh is a Rust SSH client & server library. Prior to version 0.60.1, a pre-authentication denial-of-service vulnerability exists in the server's keyboard-interactive authentication handler. A malicious client can crash any russh-based server that implements keyboard-interactive auth (e.g., for 2FA/TOTP) with a single malformed packet, requiring no credentials. This issue has been patched in version 0.60.1.

