RustDesk Auth Proof Uses Server-Controlled Salt/Challenge and Fast Double-SHA256, Enabling Offline Brute-Force
Summary
| CVE | CVE-2026-30789 |
|---|---|
| State | PUBLISHED |
| Assigner | VULSec |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-03-05 16:16:19 UTC |
| Updated | 2026-06-22 10:16:19 UTC |
| Description | 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. |
Risk And Classification
Primary CVSS: v4.0 8.2 HIGH from 2fdefc65-d750-4b8d-96ee-6e2c0c42dbfe
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Problem Types: CWE-307 | CWE-916 | CWE-916 CWE-916 Use of Password Hash With Insufficient Computational Effort | CWE-307 CWE-307 Improper Restriction of Excessive Authentication Attempts
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 4.0 | 2fdefc65-d750-4b8d-96ee-6e2c0c42dbfe | Secondary | 8.2 | HIGH | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/C... |
| 4.0 | CNA | CVSS | 8.2 | HIGH | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
| 3.1 | [email protected] | Primary | 9.8 | CRITICAL | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
CVSS v4.0 Breakdown
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS v3.1 Breakdown
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
NVD Known Affected Configurations (CPE 2.3)
| Type | Vendor | Product | Version | Update | Edition | Language |
|---|---|---|---|---|---|---|
| Operating System | Apple | Iphone Os | - | All | All | All |
| Operating System | Apple | Macos | - | All | All | All |
| Operating System | Android | - | All | All | All | |
| Operating System | Linux | Linux Kernel | - | All | All | All |
| Operating System | Microsoft | Windows | - | All | All | All |
| Application | Rustdesk | Rustdesk | All | All | All | All |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Rustdesk-client | RustDesk Client | affected 1.4.8 custom | Windows, MacOS, Linux, iOS, Android |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| rustdesk.com/docs/en/client | 2fdefc65-d750-4b8d-96ee-6e2c0c42dbfe | rustdesk.com | Product |
| docs.google.com/document/d/e/2PACX-1vSds6jjpd38oO_yIAyd1HYtKNUuea-I-ozAPpGhYI... | 2fdefc65-d750-4b8d-96ee-6e2c0c42dbfe | docs.google.com | Exploit, Third Party Advisory |
| www.vulsec.org | 2fdefc65-d750-4b8d-96ee-6e2c0c42dbfe | www.vulsec.org | Not Applicable |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Vendor Comments And Credit
Discovery Credit
CNA: Erez Kalman (en)
CNA: Erez Kalman (en)
Additional Advisory Data
Solutions
CNA: Add a client-side nonce to the auth proof and use a slow KDF (e.g., Argon2id). Transition to SRP.
Workarounds
CNA: Use long (16+ char) random passwords. Enable 2FA where available.
Exploits
CNA: PoC available.