Katalog CVE

CVE-2026-73430

ŚrednieCVSS 5.3
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.33%

Percentyl 26 - wyżej niż 26% wszystkich znanych CVE

Streszczenie

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.

Ocena ryzyka

Atak może spowodować awarię zadania wymiany kluczy serwera, co prowadzi do niedostępności usługi SSH i potencjalnego zakłócenia działania.

Rekomendacja

Zaktualizuj Russh do wersji 0.62.4 lub nowszej. Ogranicz dostęp do usługi SSH i monitoruj nietypowe pakiety wymiany kluczy.

Oryginalny opis (angielski, źródło NVD)

Russh is a Rust SSH client & server library. Prior to 0.62.4, an unauthenticated SSH client can cause a denial of service by sending SSH_MSG_KEX_ECDH_INIT with a 32-byte all-zero Q_C value. Curve25519Kex::server_dh in russh/src/kex/curve25519.rs accepts the all-zero peer public value and computes an all-zero shared secret, after which compute_exchange_hash calls encode_mpint in russh/src/kex/mod.rs and indexes beyond the end of the input while skipping leading zero bytes. The resulting panic occurs before authentication and terminates the server key-exchange task. This issue is fixed in version 0.62.4.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS