Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify internet-exposed RustDesk relay or rendezvous server
-
DeliveryOpen many concurrent TCP connections
-
ExploitTransmit crafted 4-byte header (length = 0x3FFFFFFF) per connection
-
ExecutionServer pre-allocates ~1 GiB per connection before auth
-
PersistHost memory exhausted
-
ImpactServer process crashes or becomes unresponsive
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special configuration is required - exploitation targets the pre-authentication TCP frame parsing path, which is active by default on any network-reachable RustDesk relay or rendezvous server. The CVSS PR:N and UI:N metrics confirm that neither authentication nor user interaction is needed. The only prerequisite is TCP reachability to the port on which the RustDesk server component listens. Exploitation amplification increases with the number of concurrent connections an attacker can sustain. Limiting factors: the attack yields only availability impact with no data access or code execution; deployments behind firewalls, VPNs, or NAT that prevent arbitrary external TCP connections are not directly reachable; and the fix has been released in version 1.4.7, meaning patched servers are fully protected. |
| Impact | The CVSS 4.0 score of 8.7 with vector AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N is well-calibrated to the actual threat: the attack is network-reachable, requires zero authentication or user interaction, has no special attack requirements, and produces high availability impact. The vulnerability is automatable - a simple loop opening concurrent TCP connections and writing four bytes per connection is sufficient to trigger exhaustion, with no payload delivery needed. EPSS data is absent from the provided input, so exploitation probability cannot be quantified precisely, though the extremely low barrier (no auth, no complexity, commit diff fully public) implies meaningful real-world exploitation risk now that the patch differential is visible. This CVE is not in the CISA KEV and no confirmed POC has been reported, so treating it as confirmed-exploited would overstate current evidence. The impact is strictly availability - no confidentiality or integrity consequence - but for self-hosted relay or rendezvous servers exposed to the internet, a successful attack denies remote desktop service to all connected users simultaneously. Deployments protected behind firewalls or VPNs that restrict arbitrary TCP connectivity face substantially lower exposure. |
| Exploit ScenarioDerived | An attacker scripts a loop that opens dozens to hundreds of concurrent TCP connections to a publicly exposed RustDesk relay or rendezvous server and, on each connection, immediately writes a crafted four-byte frame header encoding a payload length of 0x3FFFFFFF (~1 GiB). The server's BytesCodec decoder reserves up to 1 GiB of heap memory per connection before any authentication exchange, and the attacker never sends a payload - connections are held open to sustain the allocated memory. Across 8-16 parallel connections this can exhaust tens of gigabytes of RAM, triggering OOM-kills or process crashes and rendering the server unavailable to legitimate users. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 26, 2026
Memory exhaustion in RustDesk versions before 1.4.7 allows unauthenticated remote attackers to crash or severely degrade server availability by sending crafted TCP frame headers through BytesCodec before any authentication occurs. The decoder blindly reserves up to 1,073,741,823 bytes of buffer capacity per connection based solely on an untrusted four-byte length field, and concurrent connections multiply the allocation pressure until host memory is exhausted. No public exploit code has been identified at time of analysis, though the upstream patch commit fully discloses the trigger mechanism; the fix is available in the vendor-released 1.4.7 build.
RemediationAI
The vendor-released patch is RustDesk version 1.4.7, available at https://github.com/rustdesk/rustdesk/releases/tag/1.4.7 for all platforms. The underlying fix is in hbb_common commit 547da54b4ee58eed47163fbd47edb4639e3d88de and is reflected in RustDesk application commit 518296f2570d107ad416f29ade5fcce3177f4115; upgrading to 1.4.7 incorporates both. For operators unable to upgrade immediately, placing per-source-IP concurrent TCP connection limits at the network perimeter (e.g., via iptables connlimit or a load balancer rate-limit policy) reduces the amplification potential of parallel connections but does not eliminate the per-connection allocation issue and may inadvertently throttle legitimate multi-session users. Restricting inbound TCP access to the RustDesk relay or rendezvous port to known trusted IP ranges provides stronger isolation but negates the remote access utility of the product. No other vendor-recommended workarounds are present in the provided references.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
RustDesk is an open-source remote desktop platform implemented in Rust, sharing a common networking library called hbb_common. The vulnerable component is BytesCodec within hbb_common, which frames TCP streams using a four-byte little-endian length prefix. Before authentication, the codec calls src.reserve(n) using the attacker-controlled value n decoded directly from the frame header, with no upper bound enforced - a CWE-770 (Allocation of Resources Without Limits or Throttling) violation. The maximum encodable length via the header is 0x3FFFFFFF (approximately 1 GiB), which could be reserved per connection without sending a single payload byte. The fix in hbb_common commit 547da54b4ee58eed47163fbd47edb4639e3d88de introduces MAX_PREALLOCATED_PAYLOAD_LEN = 256 KiB and clamps speculative allocation via n.saturating_sub(src.len()).min(MAX_PREALLOCATED_PAYLOAD_LEN). A regression test added in the same commit confirms that a crafted header with n = 0x3FFFFFFF results in buffer capacity no greater than four times the cap. CPE cpe:2.3:a:rustdesk:rustdesk:*:*:*:*:*:*:*:* covers all platform variants.
Know when Rustdesk gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network-reachable pre-authentication path, no complexity or privilege requirement, purely availability impact with no confidentiality or integrity consequence.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
RustDesk versions before 1.4.7 contain an uncontrolled speculative memory allocation vulnerability in BytesCodec. Before authentication, the decoder trusts the payload length encoded in a four-byte frame header and reserves that amount before receiving the payload. A crafted header can request up to 1,073,741,823 bytes of capacity, allowing unauthenticated attackers to use concurrent TCP connections to cause memory exhaustion and denial of service. The fix caps header-triggered speculative preallocation at 256 KiB.
Executive ViewAI
RustDesk versions before 1.4.7 are vulnerable to complete denial-of-service attacks that crash servers by exhausting memory, directly disrupting remote access and support operations for affected organizations. The vulnerability requires no authentication or special access-any attacker with network connectivity to the server can instantly disable the service, creating immediate business continuity risk.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
A default installation of RustDesk 1.2.3 on Windows places a WDKTestCert certificate under Trusted Root Certification Au
Remote denial-of-service in RustDesk Client through 1.4.5 allows network-positioned attackers to disrupt the remote-acce
Authorization scope bypass in RustDesk lets a peer holding only a FileTransfer authorization inject keyboard and mouse i
Security vulnerability in RustDesk remote desktop client/server. One of 6+ critical CVEs affecting the open-source remot
Security vulnerability in RustDesk remote desktop client/server. One of 6+ critical CVEs affecting the open-source remot
Unauthenticated attackers can abuse missing authorization controls in RustDesk Server's rendezvous and relay modules (hb
RustDesk Client through version 1.4.5 transmits sensitive preset address book credentials in cleartext during heartbeat
RustDesk Server Pro through version 1.7.5 uses weak cryptographic algorithms in configuration string generation and web
Heap buffer overflow in RustDesk's Windows clipboard redirection (wf_cliprdr.c) allows a malicious or compromised remote
Configuration tampering in RustDesk Client through 1.4.5 allows a network-positioned attacker to manipulate Application
RustDesk Client through version 1.4.5 on Windows, macOS, and Linux uses weak password hashing and improper object protot
RustDesk Client through version 1.4.5 uses a broken cryptographic algorithm that allows attackers to retrieve sensitive
EUVD-2026-66422
GHSA-qfp6-8rww-vh6v
NVD
CVE.org
EPSS
VulDB
Exploit-DB