CVE-2026-30789
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 29 - wyżej niż 29% wszystkich znanych CVE
Streszczenie
Podatność w kliencie RustDesk pozwala na ataki typu brute force na hasła z powodu niewystarczającego wysiłku obliczeniowego przy haszowaniu oraz niewłaściwego ograniczenia nadmiernych prób uwierzytelnienia. Mechanizm uwierzytelniania oparty na SHA256 nie wykorzystuje funkcji wolnej do generacji kluczy, co umożliwia atakującym odzyskanie hasła offline.
Ocena ryzyka
Organizacje mogą być narażone na nieautoryzowany dostęp do kont użytkowników, co może prowadzić do wycieku danych lub innych poważnych incydentów bezpieczeństwa. Atakujący mogą wykorzystać tę podatność do przeprowadzenia ataków brute force na hasła użytkowników.
Rekomendacja
Zaleca się aktualizację klienta RustDesk do wersji 1.4.9 lub nowszej, aby załatać tę podatność. Dodatkowo, warto wdrożyć dodatkowe mechanizmy zabezpieczające, takie jak ograniczenia prób logowania oraz stosowanie silniejszych algorytmów haszujących.
Oryginalny opis (angielski, źródło NVD)
Use of Password Hash With Insufficient Computational Effort, Improper Restriction of Excessive Authentication Attempts vulnerability in rustdesk-client RustDesk Client rustdesk-client on Windows, MacOS, Linux, iOS, Android (Client login, peer authentication modules) allows Password Brute Forcing. The authentication proof is SHA256(SHA256(password + salt) + challenge), where both the salt and the challenge are generated entirely by the server with no client-side nonce, and the hash uses no slow key-derivation function. A rogue or on-path API/relay server (see CVE-2026-30794 / CVE-2026-30797) can issue a chosen salt and challenge, capture the resulting proof, and recover the password offline. The capture-replay claim (CWE-294) is withdrawn: the challenge is regenerated per connection (challenge = Config::get_auto_password(6)), so a captured proof is not replayable against the legitimate server. The 1.4.7 OTP brute-force limiter and the existing LOGIN_FAILURES counter constrain only ONLINE attempts and do not address offline recovery. This vulnerability is associated with program files src/client.rs and program routines handle_hash(), handle_login_from_ui() (login proof construction). This issue affects RustDesk Client: through 1.4.8.

