Katalog CVE

CVE-2026-102822

NiskieCVSS 3.7
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

Russh to biblioteka klienta i serwera SSH w języku Rust. W wersjach przed 0.63.1 połączenie skonfigurowane do zezwalania na mac=none może wynegocjować ten tryb z szyfrem blokowym CTR lub CBC wymagającym MAC, ponieważ logika wyboru sprawdza needs_mac() tylko wtedy, gdy wybór MAC zawiedzie. Zdalny peer może następnie wysłać pakiet o odszyfrowanej długości zero, powodując w russh/src/cipher/mod.rs zmniejszenie wcześniej odczytanego bloku przed indeksowaniem buffer.buffer[16..], co prowadzi do paniki i zakończenia zadania połączenia.

Ocena ryzyka

Zdalny atakujący może wywołać panikę i zakończenie zadania połączenia, powodując odmowę usługi dla klientów korzystających z Russh. Podatność może być wykorzystana bez uwierzytelnienia, co zwiększa ryzyko zakłócenia działania usługi.

Rekomendacja

Należy zaktualizować bibliotekę Russh do wersji 0.63.1 lub nowszej. Zaleca się również unikanie konfiguracji mac=none w środowiskach produkcyjnych.

Inne podatności w Russh

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

Russh is a Rust SSH client and server library. Prior to 0.63.1, a connection configured to permit mac=none can negotiate it with a MAC-requiring CTR or CBC block cipher because the selection logic validates needs_mac() only when MAC selection fails. A remote peer can then send a packet with a decrypted length of zero, causing russh/src/cipher/mod.rs to shrink the previously read block before indexing buffer.buffer[16..], which panics and terminates the connection task. This issue is fixed in version 0.63.1.

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