CVE-2026-110833
Executive Summary
CVE-2026-110833 is a memory exhaustion vulnerability in FreeRDP versions from 3.0.0-beta1 before 3.32.0. The RDPDR channel proxy fails to enforce cumulative or absolute size limits when reassembling fragmented RDPDR messages, allowing a remote attacker to send a FIRST fragment followed by unbounded continuation fragments (without a terminating LAST fragment) to grow per-session heap allocations until proxy memory is exhausted. This results in a denial-of-service condition against the affected FreeRDP proxy component; the CVSS v3.1 base score is 5.9 (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H).
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability class is uncontrolled resource consumption (CWE-400), specifically a missing resource-size limit during fragment reassembly. The affected component is the RDPDR (Remote Desktop Protocol Device Redirection) channel proxy within FreeRDP.
RDPDR channel data is transmitted in fragmented form. A typical reassembly implementation expects a sequence where a FIRST fragment announces the logical message, continuation fragments carry additional bytes, and a LAST fragment terminates the message. The FreeRDP proxy component in the affected version range does not enforce:
- A cumulative size limit across the reassembled stream (i.e., a maximum acceptable total length for a single logical message), and
- An absolute per-session cap on the amount of heap memory consumed by in-flight reassembly buffers.
Because these limits are absent, an attacker who can drive the RDPDR channel can send a FIRST fragment followed by an arbitrary number of continuation fragments that never include the LAST marker. Each continuation fragment causes the proxy to append data to a per-session heap buffer, and the buffer grows proportionally to the traffic the attacker sends. There is no natural termination point and no ceiling on total size, so heap consumption scales with attacker-supplied input until the proxy process (and potentially the host) runs out of available memory.
The attack surface is the RDPDR virtual channel as processed by the FreeRDP proxy. This is a network-reachable surface (AV:N). The attack does not require authentication (PR:N) or user interaction (UI:N). The "high" attack complexity (AC:H) reflects that exploitation depends on reaching the proxy's RDPDR handling pathway and sustaining a fragmented stream, and that impact is confined to the same security scope (S:U). There is no confidentiality or integrity impact (C:N/I:N); the sole impact is availability (A:H), because memory exhaustion leads to process failure, forced termination, or service unavailability.
Insufficient technical detail is available in the NVD description regarding the exact internal function names, allocation APIs, or buffer-management routines involved; the analysis above is derived strictly from the described reassembly behavior and the stated absence of cumulative/absolute limits. No public proof-of-concept, exploit code, or Nuclei template is associated with this CVE at the time of writing.
Exploitation Scenarios
No public PoC is available for CVE-2026-110833; the attack chain below is inferred from the vulnerability class (CWE-400, fragment-reassembly without size limits) and the NVD description. Function names, endpoints, and internal paths are not fabricated.
Reconnaissance / target identification. An attacker identifies a network-exposed FreeRDP proxy accepting RDP client connections (commonly TCP/3389 for RDP, with the RDPDR channel negotiated as part of the session). The attacker determines the target is running a FreeRDP version in the range 3.0.0-beta1 up to but not including 3.32.0.
Triggering the flaw class. After establishing an RDP session that negotiates the RDPDR virtual channel, the attacker begins delivering RDPDR channel data as fragmented messages. The attacker sends a FIRST fragment and then a continuous stream of continuation fragments, deliberately omitting the LAST fragment. Because the proxy does not enforce a cumulative or absolute size limit during reassembly, each continuation fragment is appended to the per-session heap stream, causing memory to grow in proportion to the amount of data sent.
Payload / execution method at the vulnerability-class level. No crafted code payload or memory-corruption primitive is required. The "payload" is simply a sustained, never-terminating fragmented RDPDR stream. The exploitation primitive is resource exhaustion rather than code execution. The attacker can multiply the effect by opening multiple concurrent sessions, since buffers are allocated per session and grow proportionally to traffic.
Post-exploitation impact. Continued fragment delivery exhausts proxy memory. Consequences include proxy process termination, garbage-collection/allocation failures, degraded service for legitimate sessions, and potential operating-system-level memory pressure on the proxy host. The attacker gains no data access and no persistence through this vulnerability; impact is limited to availability denial, consistent with the CVSS vector (C:N/I:N/A:H).
Impact Assessment
CVE-2026-110833 is a denial-of-service vulnerability with a CVSS v3.1 base score of 5.9. Subscore analysis based on the provided vector (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H):
- Attack Vector (Network): exploitable remotely over the network by an attacker able to reach the RDPDR channel handled by the proxy.
- Attack Complexity (High): successful exploitation requires an established RDP session and sustained delivery of fragmented RDPDR messages without a LAST fragment.
- Privileges Required (None): no prior authentication is required to reach the vulnerable reassembly logic.
- User Interaction (None): no victim user action is required.
- Scope (Unchanged): impact is confined to the vulnerable proxy component and its host.
- Confidentiality / Integrity (None): no exposure or modification of data.
- Availability (High): memory exhaustion can render the proxy unavailable, terminating in-flight sessions and denying service to legitimate users.
Blast radius. Any deployment of FreeRDP in the affected version range is in scope, with the highest exposure for FreeRDP proxy instances that accept untrusted or internet-reachable RDP connections. A single unauthenticated attacker can degrade or take down the proxy; the effect scales with the number of concurrent sessions the attacker can maintain, since memory grows per session and in proportion to delivered fragments. Downstream impact includes loss of remote desktop access for all users routed through the proxy, which can be business-impacting for remote-work, jump-host, and VDI architectures that depend on the proxy. There is no evidence of exploitation in the wild, no CISA KEV listing, and no known threat-actor campaign associated with this CVE at the time of writing. EPSS has not yet been scored by FIRST.org as of this report.
Detection Guidance
Sigma Rule
title: Potential FreeRDP RDPDR Fragment Reassembly Memory Exhaustion (CVE-2026-110833)
id: 9f2c7a41-5d3e-4b18-a6c2-7e0b1f4d8a93
status: experimental
description: Detects abnormal growth or memory exhaustion in the FreeRDP proxy process potentially related to RDPDR fragment reassembly abuse.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-110833
author: valtersit.com
date: 2026/01/01
tags:
- attack.t1499
- cve.2026.110833
logsource:
category: process_creation
product: linux
detection:
selection_proc:
Image|endswith:
- '/freerdp-proxy'
- '/freerdp'
selection_mem:
- CommandLine|contains: 'proxy'
condition: selection_proc or selection_mem
fields:
- Image
- CommandLine
- User
falsepositives:
- Legitimate high-density RDP proxy usage under heavy load
level: medium
---
title: FreeRDP Proxy Memory Exhaustion Indicator
id: 3b81ac02-0c47-4f2e-9d10-6a5f2e7c1b44
status: experimental
description: Detects OOM-killer events or elevated RSS growth targeting the FreeRDP proxy.
logsource:
product: linux
service: kernel
detection:
selection_oom:
message|contains:
- 'Out of memory'
- 'oom-kill'
selection_proc:
message|contains: 'freerdp'
condition: selection_oom and selection_proc
falsepositives:
- Unrelated memory pressure on the same host
level: high
YARA Rule
rule CVE_2026_110833_FreeRDP_RDPDR_Reassembly_Abuse
{
meta:
description = "Detects memory-exhaustion characteristics in FreeRDP proxy dumps/cores related to RDPDR fragment reassembly (CVE-2026-110833)"
author = "valtersit.com"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-110833"
date = "2026-01-01"
severity = "medium"
strings:
$rdpdr = "RDPDR" ascii nocase wide
$chan = "rdpdr" ascii nocase wide
$free = "FreeRDP" ascii nocase wide
$first = "FIRST" ascii wide
$cont = "CONT" ascii wide
$last = "LAST" ascii wide
condition:
filesize < 200MB and
uint16(0) != 0x5A4D and
( $free or $rdpdr ) and
$chan and
( 1 of ( $first, $cont ) ) and
not $last
}
Suricata IDS Rule
alert tcp any any -> any 3389 (msg:"CVE-2026-110833 Potential FreeRDP RDPDR Fragment Reassembly Memory Exhaustion Attempt"; flow:established,to_server; content:"RDPDR"; nocase; threshold:type limit, track by_src, count 1, seconds 60; classtype:attempted-dos; reference:cve,2026-110833; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-110833; sid:2026110833; rev:1;)
alert tcp any any -> any 3389 (msg:"CVE-2026-110833 Excessive RDPDR Channel Traffic Sustained Session (possible unbounded fragment stream)"; flow:established,to_server; content:"RDPDR"; nocase; byte_test:1,>,100,0,relative; threshold:type both, track by_src, count 500, seconds 10; classtype:attempted-dos; reference:cve,2026-110833; sid:2026110834; rev:1;)
Elastic Detection
sequence by host.name, process.pid with maxspan=30s
[process where process.name in ("freerdp", "freerdp-proxy") and event.action == "start"]
[process where process.name in ("freerdp", "freerdp-proxy")
and process.thread.name : "rdpdr*"
and event.category == "process"
and process.memory_rss > 1000000000]
Splunk SPL Query
index=linux sourcetype=syslog OR sourcetype=osquery
(process_name=freerdp OR process_name=freerdp-proxy OR message="*freerdp*")
(message="*Out of memory*" OR message="*oom-kill*" OR process_rss_bytes>1000000000)
| stats count min(_time) as first_seen max(_time) as last_seen
values(message) as messages
max(process_rss_bytes) as peak_rss
by host process_name
| where peak_rss > 1000000000
| eval first_seen=strftime(first_seen,"%Y-%m-%d %H:%M:%S"), last_seen=strftime(last_seen,"%Y-%m-%d %H:%M:%S")
| sort - peak_rss
Wazuh OSSEC Rule
<group name="freerdp,cve-2026-110833,">
<rule id="110833" level="10">
<decoded_as>syslog</decoded_as>
<match>freerdp</match>
<regex>Out of memory|oom-kill|Killed process</regex>
<description>CVE-2026-110833: Potential FreeRDP proxy memory exhaustion (RDPDR fragment reassembly abuse)</description>
<mitre>
<id>T1499</id>
</mitre>
<group>denial_of_service,</group>
</rule>
<rule id="110834" level="8">
<decoded_as>syslog</decoded_as>
<match>freerdp-proxy</match>
<description>FreeRDP proxy process event observed - correlate with abnormal RDPDR channel growth</description>
<group>freerdp,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). No vendor advisory, vendor fix, or official workaround is recorded in the provided data. The NVD description states that affected versions are FreeRDP from 3.0.0-beta1 before 3.32.0 and that the limiting behavior is expected to be enforced in 3.32.0; no patch artifact has been independently confirmed by tracked sources.
Immediate mitigations
- Restrict access to the RDPDR channel / RDP proxy listener to trusted networks only (firewall allowlists, VPN, or zero-trust access brokers) so untrusted clients cannot reach the vulnerable reassembly pathway.
- Limit concurrent sessions per client and apply rate limiting on the RDP listener to constrain the rate at which an attacker can grow per-session heap buffers.
- Enforce OS-level memory limits on the proxy process (e.g., cgroup memory limits) so that exhaustion of a single proxy degrades only that instance rather than the whole host.
- Monitor proxy process RSS for abnormal growth and alert/restart on threshold breach as a stopgap.
- Where the RDPDR channel is not required for the proxy use case, assess whether it can be disabled or not negotiated.
Patch / upgrade steps
- Upgrade FreeRDP to 3.32.0 or later, per the NVD description, which fixes the missing cumulative/absolute size-limit enforcement during RDPDR fragment reassembly.
- Because no patch evidence exists in tracked sources, verify the fixed release against the upstream FreeRDP release notes and the NVD advisory before relying on it.
- After upgrade, validate that oversized or unterminated RDPDR fragment streams are now rejected once limits are reached.
Long-term hardening
- Treat all virtual-channel reassembly input as untrusted; enforce both per-message and per-session absolute size ceilings in code and validate them with fuzzing.
- Add continuous fuzzing of the RDPDR fragment reassembly path (fragment sequences with missing LAST, oversized continuation chains, and interleaved sessions).
- Segment proxy hosts so that a memory-exhaustion event cannot affect unrelated services.
- Maintain an SBOM and track FreeRDP versions across all deployments to quickly identify exposure to future channel-handling CVEs.
References
- NVD — CVE-2026-110833: https://nvd.nist.gov/vuln/detail/CVE-2026-110833
- FreeRDP project (vendor) — releases and security advisories: https://github.com/FreeRDP/FreeRDP
- CWE-400 — Uncontrolled Resource Consumption: https://cwe.mitre.org/data/definitions/400.html
- MITRE ATT&CK T1499 — Endpoint Denial of Service: https://attack.mitre.org/techniques/T1499/
- CISA Known Exploited Vulnerabilities Catalog (CVE-2026-110833 not listed as of this report): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
No public PoC, exploit code, Nuclei template, or in-the-wild exploitation evidence is associated with CVE-2026-110833 at the time of writing. No threat actor campaign is known. EPSS has not yet been scored by FIRST.org for this CVE.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.