---
id: CVE-2026-30789
title: >-
  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,…
summary: >-
  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,…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-916
published: '2026-03-05'
updated: '2026-06-22'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-30789'
references:
  - url: >-
      https://docs.google.com/document/d/e/2PACX-1vSds6jjpd38oO_yIAyd1HYtKNUuea-I-ozAPpGhYI7QgAU-QGJ7D8a4rOZVj1vmiUXV1EcdRHf9aZAW/pub
    label: 2fdefc65-d750-4b8d-96ee-6e2c0c42dbfe
  - url: 'https://rustdesk.com/docs/en/client/'
    label: 2fdefc65-d750-4b8d-96ee-6e2c0c42dbfe
  - url: 'https://www.vulsec.org/'
    label: 2fdefc65-d750-4b8d-96ee-6e2c0c42dbfe
tags:
  - nvd
epss: 0.00327
epssPercentile: 0.23124
ingestedAt: '2026-06-29T13:24:34.779Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
