Skip to main content

FreeRDP EUVDEUVD-2026-115920

| CVE-2026-121388 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-11-03 VulnCheck GHSA-vrcq-2593-3p64
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Lure client to malicious RDP server
  2. Delivery
    Negotiate DRDYNVC and open dynamic channel
  3. Exploit
    Send DATA_FIRST with oversized Length field
  4. Execution
    StreamPool_Take reserves full size before body validation
  5. Impact
    Exhaust client memory and crash

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

Exploitation requires the victim to connect their FreeRDP client to a malicious or compromised RDP server, that DRDYNVC be negotiated, and that at least one dynamic virtual channel has been created and is in DVC_CHANNEL_RUNNING state (the relevant build/plugin must accept the channel creation). The server then sends a DRDYNVC DATA_FIRST PDU whose 32-bit Length field declares up to 4,294,967,295 bytes, which FreeRDP passes to StreamPool_Take before validating or receiving the body. Limiting factors: this is a server-to-client attack gated by user-initiated connection (UI:P), impact is confined to client availability (memory exhaustion) with no code execution or data disclosure, and it affects only client builds running at least one dynamic channel. Multiple accepted channels can each retain independent reservations, amplifying the exhaustion.

Impact

This is a client-side denial-of-service (memory exhaustion) issue, not a code-execution or data-exposure flaw. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) scores 7.1 and isolates impact to availability (VA:H) with no confidentiality or integrity effect, consistent with the CWE-770/CWE-789 uncontrolled/uncapped allocation. The directionality matters: the attacker is a malicious or compromised RDP *server* and the victim is the FreeRDP *client*, so UI:P reflects that a user must initiate a connection to the hostile server - exploitation is not spontaneously remote against an exposed service. No CISA KEV listing is present and no EPSS score was supplied, so there is no evidence of active or widespread exploitation; the only exploitation signal is a PoC. The PoC is a bounded production-source verifier that compiles the real drdynvc_main.c parser and confirms StreamPool_Take reserves the full declared length before body validation at a 16-MiB bound - it proves the parser-to-pool ordering and the absence of a cap, but it is not a working network exploit and does not demonstrate end-to-end remote client crashes. The vuln.today Decision label is this_week, so this warrants prompt patching but the signals do not indicate an emergency: the real-world risk is a moderate, interaction-gated client DoS rather than a high-CVSS flaw with imminent mass exploitation.

Exploit ScenarioDerived

A user is lured or redirected to connect their FreeRDP client to an attacker-controlled or compromised RDP server. Once DRDYNVC is negotiated and a dynamic channel reaches the running state, the server sends a DATA_FIRST PDU declaring a Length of up to 4,294,967,295 bytes with little or no body, causing the client to reserve that memory immediately and exhaust address space/commit. A bounded production-source PoC exists confirming the pre-validation reservation at 16 MiB, though it is not a working network exploit.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 03, 2026

Client-side memory exhaustion in FreeRDP 3.0.0 through 3.32.1 lets a malicious or compromised RDP server force large allocations by declaring an enormous DRDYNVC DATA_FIRST Length, exhausting client memory and causing denial of service. The victim must connect to the server and have DRDYNVC negotiated with at least one dynamic virtual channel in DVC_CHANNEL_RUNNING state; the flaw does not provide code execution or data disclosure. A bounded public proof-of-concept reproducer is included in the advisory, but it is not verified as working exploit code, and no CISA KEV listing is provided.

RemediationAI

Vendor-released patch: upgrade FreeRDP to 3.32.2 or later; the affected range is 3.0.0 through 3.32.1. The GitHub security advisory is at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-rrp5-666j-g6gp. The advisory recommends rejecting a DATA_FIRST Length above a conservative local per-message limit before calling StreamPool_Take, maintaining atomic per-channel and per-session reassembly budgets, charging reservations before allocation and refunding them on completion, replacement, error, timeout, and close, adding an incomplete-message timeout, and growing reassembly in bounded chunks instead of preallocating the full declared size. No documented configuration-only workaround is provided; until patched, limit exposure by connecting only to trusted RDP servers and avoiding untrusted DRDYNVC-capable endpoints, but that reduces attack surface rather than fixing the allocation behavior.

Affected VersionsENISA

FreeRDP 3.0.0 <3.32.2

Affected Packages

euvd freerdp fix: 3.32.2

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

FreeRDP is an open-source RDP client and server implementation. In the client DRDYNVC dynamic virtual channel handler, drdynvc_process_data_first() reads a 32-bit Length from a DATA_FIRST PDU and calls dvcman_receive_channel_data_first() before validating or receiving the accumulated body; that path releases the prior stream and calls StreamPool_Take(pool, length). When no cached stream is large enough, Stream_New() passes the size to calloc and records the full capacity. Because there is no per-message, per-channel, or per-session reservation cap, a small first fragment can reserve up to 4,294,967,295 bytes, and multiple running channels can retain independent reservations. This is CWE-770 uncontrolled resource allocation, with the advisory also associating CWE-789 excessive memory allocation; the trigger is specifically the DRDYNVC DATA_FIRST Length field, not a race condition or an execution primitive.

Know when Freerdp 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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

A malicious server needs no authentication (PR:N) but the user must initiate the connection (UI:R); impact is availability-only memory exhaustion (A:H, C:N/I:N) with no scope change.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Nov 03, 2026 - 16:17 EUVD
CVE Published
Nov 03, 2026 - 14:27 cve.org
HIGH 7.1

DescriptionCVE.org

FreeRDP from 3.0.0 before 3.32.2 contains an uncontrolled resource allocation vulnerability that allows malicious RDP servers to force large client allocations through the DRDYNVC DATA_FIRST Length field. Attackers can declare lengths up to 4,294,967,295 bytes on running dynamic channels, causing StreamPool_Take to reserve memory before body validation and exhaust client memory.

Executive ViewAI

Why It Matters

A memory exhaustion vulnerability in the FreeRDP remote desktop client (version 3.0.0-3.32.1) allows a malicious RDP server to crash client workstations by sending oversized channel data. Employees who connect to untrusted RDP endpoints may experience sudden outages, disrupting productivity and incident response. Leadership should prioritize patching and endpoint controls to mitigate this denial-of-service risk.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict RDP connections to approved, trusted servers; monitor client memory usage for anomalies; enforce application allowlisting and least privilege; segment networks to limit exposure.

Threat Intelligence Overview

Prevalence
Medium
widely used open-source RDP client library, but not universally deployed
Data Quality
3 sources
Confidence: Low

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-25997 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_clipboard_format_equal before 3.23.0. Clipboard format comparison uses freed memory. Fifth

CVE-2026-25953 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Surface-to-window update triggers memory corrupti

CVE-2026-25952 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_SetWindowMinMaxInfo before version 3.23.0. X11 client window management triggers memory cor

CVE-2026-25959 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_cliprdr_provide_data clipboard handling before 3.23.0. Clipboard data exchange triggers mem

CVE-2026-22857 CRITICAL POC
9.8 Jan 14

FreeRDP IRP thread handler has a use-after-free where the IRP is freed by Complete() then accessed on the error path. Fi

CVE-2026-22854 CRITICAL POC
9.8 Jan 14

FreeRDP drive read heap overflow when server-controlled read length exceeds IRP output buffer. Fixed in 3.20.1. PoC avai

CVE-2026-22852 CRITICAL POC
9.8 Jan 14

FreeRDP client before 3.20.1 has a heap buffer overflow in AUDIN format processing. A malicious RDP server can corrupt m

CVE-2026-25955 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Different code path from CVE-2026-25953. PoC and

CVE-2024-32041 CRITICAL POC
9.8 Apr 22

FreeRDP is a free implementation of the Remote Desktop Protocol. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2023-40574 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

CVE-2023-40569 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

CVE-2023-40567 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy