Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessUser connects to hostile RDP server
-
DeliveryServer announces parallel device redirection
-
ExploitServer sends repeated IRP_MJ_CREATE requests
-
Executionparallel_process_irp_create leaks a descriptor each open
-
ImpactDescriptor table exhausted, client process segfaults
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Resource cleanup on lifecycle end
|
| Exploitation Conditions | Exploitation requires BOTH (1) a user-initiated connection to a hostile or attacker-controlled RDP server, and (2) client-side parallel-device redirection explicitly enabled (e.g. /parallel:PRN,/dev/null) pointing to a local path that can actually be opened - this is a non-default configuration. When parallel redirection is disabled the code path is unreachable and the client is not exposed. Limiting factors that reduce real-world risk: mandatory user interaction to initiate the session (UI:P), the non-default redirection setting, and impact bounded to crashing the single FreeRDP client process on systems with a finite descriptor limit (observed first open failure at CREATE 98 under ulimit -n 128, CREATE 994 under ulimit -n 1024); no authentication bypass, TLS break, session theft, or host-wide outage was demonstrated. |
| Impact | This is a medium-severity, availability-only issue, not a high-impact priority. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L, 5.3) describes a network-reachable but user-interaction-dependent flaw that only crashes the FreeRDP client process; confidentiality and integrity are untouched (VC:N/VI:N). The vuln.today decision label is 'this_month' (not act_now or emergency), consistent with a bounded denial-of-service. No EPSS probability was supplied and the CVE is NOT in CISA KEV, so there is no evidence of active exploitation. A public proof-of-concept relay script is published inside the GHSA advisory and was used by the reporter (VulnCheck) to reproduce descriptor growth (~50→250 over 200 CREATE requests) and client segfaults under constrained ulimits, so exploit code is available but demonstrates DoS only - not code execution. The practical risk is further gated by two preconditions in the attacker's favor being absent in most deployments: the victim must initiate the connection AND must have explicitly enabled parallel-device redirection. One signal conflict to verify: the advisory's Impact narrative reasons in terms of 'UI:R' and 'A:H', but the authoritative CVSS 4.0 vector supplied shows UI:P and VA:L (partial/low availability impact scoped to the single client process) - the lower vector value should be treated as canonical, as the advisory itself states no host-wide outage was measured. |
| Exploit ScenarioDerived | A user is lured or configured to connect their FreeRDP client, with parallel-device redirection explicitly enabled (e.g. /parallel:PRN,/dev/null), to an attacker-controlled or compromised RDP server. After the normal channel/RDPDR handshake, the hostile server repeatedly sends IRP_MJ_CREATE requests for the announced parallel device; each open leaks a file descriptor until the client's descriptor table is exhausted and the process segfaults. A working PoC relay demonstrating this is published in the GHSA advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
A hostile RDP server can exhaust the file descriptor table of a FreeRDP client by repeatedly sending IRP_MJ_CREATE requests for a redirected parallel device, leaking one local descriptor per request until descriptor allocation fails and the client process crashes. FreeRDP versions 3.0.0 through 3.32.1 are affected (fixed in 3.32.2), and only clients that explicitly enable parallel-device redirection to an openable local path are exposed - with redirection disabled the vulnerable code path is unreachable. The CVSS vectors supplied by the vendor and by our assessment both mark this unauthenticated and network-reachable but user-interaction dependent (UI:P, PR:N), availability-only, and bounded to the single client process; the advisory ships a tested local relay PoC, so a public PoC reference exists for reproducing descriptor growth in a lab, but no active exploitation (CISA KEV) or EPSS signal is present in the available data.
RemediationAI
Upgrade FreeRDP clients to 3.32.2 or later, the vendor-released patch that fixes the descriptor leak in parallel_process_irp_create (details in https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-8g9g-hqqp-fw69). Where upgrading is not immediately possible, the most effective compensating control is to stop using parallel-device redirection - remove /parallel:... options from client command lines and launcher profiles so the RDPDR parallel code path is never registered; the trade-off is loss of parallel-port redirection functionality, which is a niche feature most environments do not need. Restricting FreeRDP connections to trusted, known RDP servers reduces exposure but is not a reliable barrier because the attack originates from the server side of the session and requires only that the user connect. Raising the process descriptor limit (ulimit -n) only shifts the number of CREATE requests needed to reach exhaustion and does not fix the leak, so it should be treated as a temporary delay measure rather than a mitigation; lowering the limit is likewise not protective. Monitor client processes for sustained descriptor growth during redirected sessions as a detection signal, and prioritize the 3.32.2 upgrade on any host that both runs FreeRDP and enables device redirection.
Affected VersionsENISA
Affected Packages
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 implements the RDPDR device-redirection protocol inside the RDP virtual channel, where the server sends file-system-like IRPs (including IRP_MJ_CREATE) that the client maps onto local devices announced in the handshake. The flaw is CWE-772 (Missing Release of Resource after Effective Lifetime): parallel_process_irp_create opens the configured local parallel path on every incoming CREATE and overwrites the descriptor stored in parallel->file without closing the previous one or rejecting a second open, so each successfully processed request permanently consumes a descriptor slot in the client process. The vulnerable range is >= 3.0.0 and <= 3.32.1 (CPE cpe:2.3:a:freerdp:freerdp), fixed in 3.32.2. In the published reproduction the RDPDR handshake completes, device ID 1 is announced, 200 CREATE requests are answered successfully, and descriptor count climbs from roughly 50 to 250; under ulimit -n 128 the first open failure appeared at CREATE 98 and under ulimit -n 1024 at CREATE 994, after which the client segfaulted with a backtrace passing through winpr_SubmitThreadpoolWork and rfx_process_message after a ResetEvent error. That evidence supports descriptor-exhaustion-driven availability loss only - the advisory explicitly states no memory-corruption primitive, code execution, authentication bypass, TLS break, or session theft, and the trigger requires both a user-initiated connection to the malicious server and non-default client-side parallel redirection.
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
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
The hostile server needs no credentials (PR:N) but the user must initiate the connection with parallel redirection enabled (UI:R); impact is only the client process crashing (A:L), with no C/I effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
FreeRDP from 3.0.0 before 3.32.2 contains a file descriptor leak in parallel_process_irp_create that fails to close previous descriptors on repeated IRP_MJ_CREATE requests. A hostile RDP server with parallel-device redirection enabled can send repeated CREATE requests to exhaust the client descriptor table and crash the process.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Use-after-free in FreeRDP xf_clipboard_format_equal before 3.23.0. Clipboard format comparison uses freed memory. Fifth
Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Surface-to-window update triggers memory corrupti
Use-after-free in FreeRDP xf_SetWindowMinMaxInfo before version 3.23.0. X11 client window management triggers memory cor
Use-after-free in FreeRDP xf_cliprdr_provide_data clipboard handling before 3.23.0. Clipboard data exchange triggers mem
FreeRDP IRP thread handler has a use-after-free where the IRP is freed by Complete() then accessed on the error path. Fi
FreeRDP drive read heap overflow when server-controlled read length exceeds IRP output buffer. Fixed in 3.20.1. PoC avai
FreeRDP client before 3.20.1 has a heap buffer overflow in AUDIN format processing. A malicious RDP server can corrupt m
Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Different code path from CVE-2026-25953. PoC and
FreeRDP is a free implementation of the Remote Desktop Protocol. Rated critical severity (CVSS 9.8), this vulnerability
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
EUVD-2026-115923
GHSA-33hw-q4mc-wxc2
NVD
CVE.org
Exploit-DB