GHSA-ggxh-cfwq-5xqc
NieznaneStreszczenie
Metoda Net::SSH::Transport::Session#poll_message umieszcza każdy pakiet odebrany podczas wymiany kluczy, który nie znajduje się na liście dozwolonych podczas KEX, w nieograniczonej kolejce @queue (tablica) bez limitu rozmiaru. Złośliwy serwer, który ukończy KEXINIT (wprowadzając net-ssh w stan oczekiwania na KEX), a następnie zalewa nie dozwolonymi pakietami, może powodować nieograniczony wzrost pamięci.
Ocena ryzyka
Złośliwy lub przejęty serwer SSH może doprowadzić do wyczerpania pamięci procesu aplikacji klienckiej, powodując odmowę usługi (DoS). Ryzyko dotyczy aplikacji łączących się przez net-ssh z niezaufanymi serwerami.
Rekomendacja
Zaktualizuj bibliotekę net-ssh do wersji zawierającej poprawkę ograniczającą rozmiar kolejki. Ogranicz łączenie się z niezaufanymi serwerami SSH oraz monitoruj zużycie pamięci procesów klienckich.
Inne podatności w net-ssh
Zobacz wszystkie- GHSA-vxj5-fg65-x765Wysokie
Weryfikator certyfikatów hosta w net-ssh (`Net::SSH::HostKeyEntries::CertAuthority#matches_key?`) sprawdza dokładnie dwie rzeczy, gdy serwer przedstawia certyfikat OpenSSH (`*[email protected]`) w ramach zaufanego wpisu CA `@cert-authority`: (1) certyfikat jest spójnie podpisany (signature_valid).
- GHSA-qpg5-fx6p-8cq3Wysokie
W net-ssh funkcja `Service::Forward#initialize` bezwarunkowo rejestruje procedury obsługi kanałów agenta uwierzytelniania inicjowanych przez serwer, przez co zwykłe przekierowanie portów ujawnia lokalnego agenta SSH.
- GHSA-pfqh-p9vh-wx4pNieznane
Biblioteka net-ssh ufa 4-bajtowemu polu długości pakietu przesyłanego przez sieć, nie ograniczając go do wartości 35000 bajtów zgodnie z RFC 4253 §6.1. Złośliwy serwer może przed wymianą kluczy (w trybie jawnym) zadeklarować dowolnie dużą długość pakietu i przesyłać dane, powodując nieograniczony wzrost zużycia pamięci po stronie klienta przed uwierzytelnieniem.
- GHSA-r75w-7fhp-84w8Nieznane
Metoda Net::SSH::Transport::ServerVersion#read! dołącza każdy odebrany bajt do @version aż do napotkania znaku nowej linii, a następnie kopiuje do @header, bez limitu długości linii ani całkowitej liczby bajtów. Złośliwy serwer wysyłający długą linię identyfikacyjną bez znaku LF powoduje nieograniczony wzrost zużycia pamięci.
- GHSA-rpq3-v334-f5pmNieznane
Podczas ładowania spreparowanego klucza prywatnego ed25519 zawierającego ogromną liczbę rund, net-ssh wchodzi w nieskończoną pętlę zużywającą czas CPU przez bardzo długi czas podczas próby załadowania klucza. To, że klucz nie jest prawdziwym kluczem SSH, nie ma w tym przypadku znaczenia.
- GHSA-3x7f-q7wf-fp73Nieznane
W bibliotekach Net::SSH::Proxy::Command oraz Net::SSH::Proxy::Jump możliwa jest iniekcja poleceń powłoki. Gdy aplikacja konfiguruje proxy i przekazuje do Net::SSH.start (lub ciąg jump do Proxy::Jump.new) wartości host, port lub remote_user pod wpływem atakującego, metaznaki powłoki w tych wartościach mogą zostać zinterpretowane.
Oryginalny opis (angielski, źródło NVD)
## Summary Net::SSH::Transport::Session#poll_message pushes every packet received during key exchange that is not on the "allowed during KEX" list into an unbounded @queue (Array), with no size cap. A malicious server that completes KEXINIT (putting net-ssh into pending KEX) and then floods non-all
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

