CVE-2026-110833 in FreeRDPinfo

Summary

by MITRE • 10/15/2026

FreeRDP from 3.0.0-beta1 before 3.32.0 fails to enforce cumulative or absolute size limits when reassembling RDPDR channel fragments in the proxy. Attackers can send a FIRST fragment followed by continuation fragments without LAST, growing per-session heap streams proportional to traffic and exhausting proxy memory.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Analysis

by VulDB Data Team • 10/15/2026

The vulnerability identified within FreeRDP versions ranging from 3.0.0-beta1 up to but not including 3.32.0 represents a critical failure in resource management logic specifically located within the Remote Desktop Protocol Device Redirection channel, known as RDPDR. This component is responsible for handling device redirection traffic between the client and server through the FreeRDP proxy implementation. The core technical flaw lies in the reassembly process of fragmented data streams. When an RDP session involves large amounts of device data, such as file transfers or printer spooling, the protocol breaks this data into multiple fragments. Each fragment is marked with flags indicating whether it is a first fragment, a continuation, or a last fragment to signal the end of the message sequence. The vulnerability arises because the proxy fails to enforce cumulative size limits or absolute bounds on these reassembled streams during their construction in memory.

In a normal operational scenario, the RDPDR channel parser should track the total size of fragments belonging to a single logical message and ensure that this aggregate does not exceed predefined thresholds designed to prevent excessive memory consumption. However, due to the absence of these enforcement mechanisms, an attacker can exploit this logic error by crafting maliciously formatted network traffic. Specifically, the attack vector involves sending a FIRST fragment followed by a continuous stream of continuation fragments that lack the expected LAST flag. Because the proxy does not validate whether the sequence is logically complete or bounded by size constraints before allocating memory for each subsequent piece, it continues to append data to an ever-growing heap buffer associated with the specific session context.

The operational impact of this flaw is severe and directly targets the availability of the FreeRDP proxy service. As the attacker continues to send these unbounded continuation fragments, the per-session heap streams expand proportionally to the volume of traffic injected by the adversary. This behavior leads to a rapid exhaustion of available system memory on the host running the proxy. Since each active session maintains its own set of reassembly buffers, an attacker can target multiple sessions simultaneously or focus resources on a single high-value session to accelerate the depletion process. The result is a classic denial-of-service condition where the FreeRDP process consumes all accessible RAM, leading to system instability, service crashes, or complete unresponsiveness for legitimate users attempting to connect through the proxy.

From a classification perspective, this vulnerability aligns with CWE-400, which describes Uncontrolled Resource Consumption, as well as CWE-789, Memory Allocation without Limits or Maximum Checks. The exploitation technique mirrors patterns found in ATT&CK tactic T1499, Endpoint Denial of Service, specifically under the sub-technique for resource exhaustion via application layer protocols. It is important to note that this issue affects the proxy implementation rather than a direct client-to-server connection bypass, meaning it primarily impacts infrastructure components acting as intermediaries for RDP traffic.

Mitigation strategies must focus on immediate patching and architectural hardening. The primary remediation is to upgrade FreeRDP to version 3.32.0 or later, where the developers have implemented proper bounds checking during the reassembly of RDPDR fragments. For environments unable to update immediately due to dependency constraints, network-level controls can provide temporary relief. Deploying rate-limiting rules on firewalls or load balancers to restrict the volume of RDP traffic per session can mitigate the speed at which memory is consumed. Additionally, configuring operating system level limits such as ulimits for maximum virtual memory size can prevent a single process from exhausting all available RAM, thereby preserving overall system stability even if individual FreeRDP sessions are targeted by this exploitation technique.

Responsible

VulnCheck

Reservation

10/15/2026

Disclosure

10/15/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!