Skip to main content

FreeRDP EUVDEUVD-2026-115931

| CVE-2026-121399 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-11-03 VulnCheck GHSA-c9xf-6g3r-f7hf
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Victim FreeRDP client connects to attacker-controlled RD Gateway
  2. Delivery
    Gateway sends 8-byte RDG header with packetLength 0x7FFFFFFF
  3. Exploit
    Length passes INT_MAX check in rdg_receive_packet
  4. Execution
    Stream_EnsureCapacity / WinPR allocates and zero-fills ~2 GiB pre-auth
  5. Persist
    Gateway withholds body bytes
  6. Impact
    Client memory exhausted, denial of service

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 FreeRDP client to be used in RD Gateway mode (e.g. /gateway over the HTTP or WebSocket transport) and to connect to an attacker-controlled, compromised, or man-in-the-middled RD Gateway; the malicious gateway then sends one eight-byte RDG header declaring packetLength 0x7FFFFFFF, which is processed in rdg_receive_packet before any tunnel authentication. No credentials or prior authentication on the client are needed (pre-auth), but the attack is limited by the need for the victim to initiate a gateway connection to the hostile endpoint (UI:P), by applying only to RD Gateway deployments rather than direct RDP connections, and by its recoverable nature - if the host refuses the ~2 GiB allocation the connection fails cleanly, and no OOM kill or data-access effect was observed. Updating to FreeRDP 3.32.2 is the fix.

Impact

This is a medium-severity, availability-only denial-of-service issue, and the signals are largely consistent rather than conflicting. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L) scores 5.3 and correctly reflects that there is no confidentiality or integrity impact and only a low availability impact. The attack is network-reachable and pre-authentication, but it is not a classic 'remote unauthenticated attacker hits a listening service' case: the victim is a FreeRDP client, and the hostile party is the RD Gateway the client connects to, so exploitation depends on the client reaching a malicious, compromised, or MITM'd gateway (captured by UI:P / user-initiated connection). It is NOT CISA KEV-listed, so it is not confirmed as actively exploited. No EPSS score was supplied, so exploitation probability cannot be quantified from the input. The GHSA advisory includes complete, independently reproduced proof-of-concept code (a measured 2.032 GiB resident allocation from an eight-byte header), so a working public PoC exists even though there is no evidence of in-the-wild use. The vuln.today decision label is 'this_month' (not act_now/emergency), which matches the picture of a credible but non-critical, recoverable client-side DoS. Net: a real issue worth patching on a normal cycle for anyone using RD Gateway, but not an emergency - the impact is temporary memory exhaustion with clean failure if the host refuses the allocation, no OOM kill or data access was observed, and there is no code execution or data exposure.

Exploit ScenarioDerived

An attacker who operates, compromises, or man-in-the-middles an RD Gateway waits for a FreeRDP client to connect through it, then sends a single eight-byte RDG header (02 00 00 00 ff ff ff 7f) declaring a packet length of 0x7FFFFFFF before tunnel authentication. The client's rdg_receive_packet passes the INT_MAX check and calls Stream_EnsureCapacity, causing WinPR to allocate and zero-fill roughly 2 GiB while it waits for body bytes the gateway never sends, exhausting client memory. A full working proof-of-concept gateway is published in the FreeRDP GHSA advisory and was independently reproduced over both WebSocket and non-WebSocket HTTP transports.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

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

Alert me

AnalysisAIv1 – Nov 03, 2026

Memory exhaustion in FreeRDP's RD Gateway client (versions through 3.32.1) lets a malicious or compromised gateway force roughly 2 GiB of client-side allocation before tunnel authentication, tying up memory while the session waits on body bytes that never arrive. A single eight-byte RDG header declaring packetLength 0x7FFFFFFF slips past the INT_MAX check in rdg_receive_packet and reaches Stream_EnsureCapacity, where WinPR rounds the request to 0x80000000 and zero-fills the expanded stream. The attack is unauthenticated (CVSS PR:N) but narrow: the victim must be running xfreerdp/FreeRDP in RD Gateway mode (/gateway over HTTP or WebSocket) and must initiate a connection to the hostile endpoint, impact is availability-only, and if the host refuses the allocation the connection fails cleanly; there is no CISA KEV entry, and the GHSA advisory publishes a full reproduction harness that was executed and measured at 2.032 GiB resident memory.

RemediationAI

Vendor-released patch: FreeRDP 3.32.2 - upgrade from any version up to and including 3.32.1 (details in https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-4vh4-3pc3-32p7 and https://www.vulncheck.com/advisories/freerdp-before-3.32.2-memory-exhaustion-via-rd-gateway-packet-length), and treat updating as the complete fix. Because exploitation requires the client to connect to an attacker-controlled, compromised or man-in-the-middled gateway, the practical interim control is deployment hygiene: restrict RD Gateway usage to gateways you operate or explicitly trust, and keep certificate validation enabled so an impostor gateway cannot be reached in the first place (the /cert:ignore flag used in the published reproduction disables exactly that protection and should never appear in production client profiles). Where connecting to semi-trusted gateways is unavoidable, capping the client process's memory (ulimit -v or a cgroup memory limit sized to normal session needs) bounds the blast radius: in the observed behavior a refused allocation makes the connection fail cleanly rather than crashing, at the cost of also terminating legitimate sessions that genuinely need more memory. There is no client-side configuration that stops the pre-authentication header from being processed other than the 3.32.2 fix, and no CISA KEV entry or confirmed in-the-wild exploitation was identified at time of analysis, so this sits at the vuln.today 'this_month' priority rather than an emergency.

Affected VersionsENISA

FreeRDP 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 a client implementation of Microsoft's Remote Desktop Protocol; RD Gateway mode tunnels RDP over HTTPS (or WebSocket) through an intermediary gateway, and that gateway speaks a small framing protocol (RDG) ahead of the actual tunnel handshake. Each RDG packet begins with an eight-byte header - a 16-bit type, a 16-bit flags field and a 32-bit little-endian packetLength - and rdg_receive_packet trusts that declared length when preparing the receive stream. The vulnerability is an instance of CWE-770 (allocation of resources without limits or throttling), also classified CWE-400 (uncontrolled resource consumption): a declared length of 0x7FFFFFFF (2,147,483,647) satisfies the existing INT_MAX guard, so the value is passed to Stream_EnsureCapacity before a single body byte is read, and WinPR rounds the growth to 0x80000000 and zero-fills it. The client is then blocked waiting for 2,147,483,639 payload bytes the gateway simply withholds. The CPE cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:* marks the whole pre-3.32.2 product line; the allocation path was individually inspected in 3.0.0, 3.20.0, 3.28.0, 3.31.1, 3.32.0 and 3.32.1, but the first affected release and intermediate snapshots were not established, and the 3.32.1 release binary was not separately executed even though its receive code matches the audited revision. Note that the CVSS 4.0 vector (AT:N, UI:P) and the assessed CVSS 3.1 vector (AC:L, UI:R) describe a low-complexity request that a user must trigger by connecting to the hostile gateway; the advisory does not attribute any confidentiality or integrity impact, and a host that refuses the allocation causes the connection to fail cleanly.

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 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Network-reachable pre-auth flaw triggered by a malicious gateway the client must connect to (UI:R, PR:N, AC:L); only a low, recoverable availability impact, so C:N/I:N/A:L.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/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
Low
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:28 cve.org
MEDIUM 5.3

DescriptionCVE.org

FreeRDP before 3.32.2 contains a memory allocation vulnerability in rdg_receive_packet that allows a malicious RD Gateway to force a 2 GiB client allocation before tunnel authentication. Attackers can send an eight-byte RDG header declaring packet length 0x7FFFFFFF to trigger pre-authentication memory exhaustion and denial of service.

Threat Intelligence Overview

Prevalence
High
de facto open-source RDP client bundled across many Linux remote-desktop tools
Data Quality
4 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
High

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
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