CVE-2026-109947 in FreeRDPinfo

Summary

by MITRE • 10/13/2026

FreeRDP from 3.20.1 before 3.32.0 contains an uncontrolled resource allocation vulnerability that allows malicious RDP servers to exhaust client memory via oversized drive redirection read requests. Attackers can send IRP_MJ_READ with Length 0xffffffff, causing roughly 4 GiB of zeroed allocation on 64-bit builds or an under-reserved buffer on 32-bit builds.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 10/13/2026

The vulnerability identified in FreeRDP versions prior to 3.32.0 represents a critical uncontrolled resource allocation flaw within the Remote Desktop Protocol client implementation, specifically affecting the drive redirection subsystem. This security issue stems from an insufficient validation of input parameters received during file system operations initiated by remote servers. In standard networked environments, clients must rigorously validate all incoming data to prevent exploitation through malformed or excessively large payloads. FreeRDP failed to adequately check the length field associated with IRP_MJ_READ requests sent over the RDP channel for drive redirection. This oversight allows a malicious server to manipulate the client's memory management routines by supplying an abnormally high value, thereby triggering disproportionate resource consumption on the victim machine.

The technical mechanism of this exploitation relies on the handling of the Length parameter within the IRP_MJ_READ request structure. When a compromised or attacker-controlled RDP server sends a read request with a length field set to 0xffffffff, it effectively requests nearly four gigabytes of memory allocation in a single operation on 64-bit systems. The client software attempts to allocate this massive buffer without verifying if the requested size is reasonable relative to typical file operations or system capabilities. On 32-bit builds, the situation presents an even more severe risk due to address space limitations and potential under-reservation of buffers, which can lead to memory corruption or immediate crashes as the system struggles to map such large contiguous blocks within its constrained virtual address space. This behavior directly violates principles of secure coding that mandate strict bounds checking on all external inputs before processing them in critical subsystems like file I/O handling.

From an operational impact perspective, this vulnerability enables a denial-of-service attack against FreeRDP clients. An attacker positioned as the RDP server can exhaust available system memory by repeatedly sending these oversized read requests. This resource exhaustion leads to significant performance degradation for the client application and potentially causes the entire operating system or desktop session to become unresponsive if other critical processes are starved of resources. In worst-case scenarios, particularly on 32-bit architectures where buffer under-reservation occurs, there is a heightened risk of memory corruption that could theoretically be leveraged for further exploitation beyond simple denial-of-service. The attack requires no user interaction once the connection to the malicious server is established, making it an efficient and low-effort vector for disrupting remote work environments or critical infrastructure relying on RDP connectivity.

This vulnerability aligns with CWE-400, which describes uncontrolled resource consumption, as well as CWE-789, concerning memory allocation with incorrect size values. In the context of the MITRE ATT&CK framework, this behavior corresponds to techniques associated with Denial of Service (T1499) and potentially Resource Hijacking if the attacker aims to consume resources for other malicious purposes such as cryptomining or botnet participation. The lack of input validation on network-received data structures is a common root cause in protocol implementations and highlights the necessity for robust defensive programming practices.

To mitigate this risk, organizations should immediately update FreeRDP installations to version 3.32.0 or later, where the developers have implemented proper checks to validate the length parameter before initiating memory allocation. Administrators managing large fleets of remote desktop clients must ensure patch management processes are up to date to prevent exposure to such server-side attacks. Additionally, deploying network-level authentication and restricting RDP access to trusted networks can reduce the attack surface by preventing unauthorized or malicious servers from establishing connections that could trigger this vulnerability. Monitoring for unusual memory spikes in FreeRDP processes may also serve as an early detection mechanism for ongoing exploitation attempts until patches are fully deployed across all endpoints.

Responsible

VulnCheck

Reservation

10/13/2026

Disclosure

10/13/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Interested in the pricing of exploits?

See the underground prices here!