CVE-2026-30789: RustDesk Auth Proof Uses Server-Controlled Salt/Challenge and Fast Double-SHA256, Enabling Offline Brute-Force
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.
Security readout for executives and security teams
Plain-English summary
RustDesk Client through 1.4.8 can expose user passwords to offline guessing if a client authenticates through a rogue or on-path API/relay server. The issue is not simple replay; it is weak password-proof design. No provided source confirms active exploitation or a named patch.
Executive priority
Treat as a moderate-priority credential exposure risk. Prioritize environments using RustDesk for administrative access, custom relay infrastructure, or shared passwords. Escalate if related server-positioning CVEs are present.
Technical view
The login proof uses SHA256(SHA256(password + server salt) + server challenge). Because salt and challenge are server-controlled and the hash is fast, a malicious or on-path server can capture a proof and attempt offline password recovery. CVE text says online rate limits do not address this.
Likely exposure
Exposure applies to RustDesk Client on Windows, macOS, Linux, iOS, and Android through 1.4.8, especially where clients use untrusted, compromised, or intercepted API/relay infrastructure.
Exploitation context
The source bundle marks KEV as false. It references a third-party advisory tagged exploit, but provides no confirmed active exploitation. Practical abuse requires a rogue or on-path server position and depends heavily on password strength.
Researcher notes
The capture-replay claim was withdrawn because challenges change per connection. The remaining issue is CWE-916: insufficient computational effort in a server-controlled challenge design. Evidence does not name a patch, so remediation should track vendor guidance.
Mitigation direction
Check RustDesk vendor guidance for fixed versions or official remediation.
Avoid untrusted or unexpected RustDesk API and relay servers.
Rotate RustDesk passwords after suspected rogue-server exposure.
Use strong, unique passwords to reduce offline guessing success.
Review related server-positioning risks in CVE-2026-30794 and CVE-2026-30797.
Validation and detection
Inventory RustDesk Client versions and identify deployments through 1.4.8.
Review client configuration for custom or unexpected server settings.
Confirm whether endpoints could have used untrusted relay/API infrastructure.
Check vendor advisories for patch status before closure.
Assess whether exposed passwords were reused elsewhere.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-916: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references authentication or credential exposure, so valid-account and credential-access review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
4Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-916 · source CWE mapping
Use of Password Hash With Insufficient Computational Effort
Use of Password Hash With Insufficient Computational Effort represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.