Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect to FreeRDP server as RDP client
-
DeliveryNegotiate NSCodec with oversized desktop geometry
-
ExploitTrigger buffer-growth allocation failure
-
ExecutionDangling plane pointers double-freed on teardown
-
ImpactServer process crash (denial of service)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Double free prevention
|
| Exploitation Conditions | Requires an RDP server built on FreeRDP (versions before 3.32.0) running in server mode with NSCodec support available for negotiation; the attacker acts as a malicious RDP client and must negotiate NSCodec while specifying a sufficiently large desktop geometry to force a buffer-growth allocation failure inside nsc_context_initialize_encode(). Limiting factors: the AT:P metric reflects that success depends on actually inducing the allocation failure (influenced by memory availability/geometry limits), so the trigger is not perfectly deterministic; impact is confined to a crash (availability) with no code execution, data exposure, or persistence; and the vulnerable server-side deployment mode of FreeRDP is less common than its client-side use. |
| Impact | This is a moderate-priority availability-only issue, not a critical one despite the 8.2 CVSS 4.0 base score. The vendor-supplied CVSS:4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N) describes a network-reachable, unauthenticated trigger, but crucially scores VC:N/VI:N/VA:H - the only impact is availability (a server crash via CWE-415 double-free). There is no confidentiality or integrity impact and no indication of code execution. The AT:P (attack requirement present) element is significant: exploitation depends on forcing an allocation failure, which is not a guaranteed-success deterministic trigger, lowering practical reliability. No EPSS score was provided, the CVE is NOT on CISA KEV, and no public exploit code was referenced - so there is no public exploit identified at time of analysis. Note the directionality: the attacker is a malicious RDP CLIENT and the victim is an RDP SERVER built on FreeRDP, which is the less common deployment mode for this library (FreeRDP is far more widely used as a client). Net: a reliable DoS against exposed FreeRDP-based RDP servers, worth patching on internet-facing or multi-tenant RDP server deployments, but not an urgent RCE-class emergency. |
| Exploit ScenarioDerived | A malicious actor connects to an internet-reachable or otherwise accessible RDP server built on FreeRDP (versions before 3.32.0) using a crafted RDP client. During session negotiation the client requests the NSCodec with an unusually large desktop geometry, forcing a buffer-growth allocation failure in nsc_context_initialize_encode() that leaves dangling plane pointers; on context teardown the resulting double-free crashes the server, denying service to legitimate users. No public exploit code was identified at time of analysis, and the attack causes a crash only - no code execution or data disclosure. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
A malicious RDP client can crash a FreeRDP-based RDP server running versions before 3.32.0 by negotiating the NSCodec and requesting an oversized desktop geometry, which forces a buffer-growth allocation failure inside nsc_context_initialize_encode() and leaves dangling plane pointers that are later double-freed during context teardown. The impact is availability-only - no code execution, data exposure, or persistence - and the attack is unauthenticated (CVSS PR:N), but success depends on actually inducing the allocation failure, so the trigger is not perfectly deterministic and the vulnerable server-mode deployment is less common than FreeRDP's client-side use. No public exploit code or confirmed active exploitation has been identified at time of analysis, and the assessed CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H) reflects a moderate-priority crash issue rather than the more alarming 8.2 CVSS 4.0 base score suggests.
RemediationAI
Vendor-released patch: upgrade to FreeRDP 3.32.0 or later, which corrects the nsc_context_initialize_encode() error path so plane pointers are not left dangling after a partial allocation failure (see advisory GHSA-2hhg-8xx6-v73w). If upgrading cannot be done immediately, the most effective compensating control is to stop offering NSCodec to peers: build FreeRDP without NSCodec support or remove it from the negotiated codec list on server-mode deployments - the trade-off is that NSCodec-only clients may fail to connect or will fall back to other codecs with different performance characteristics. Because the trigger depends on forcing a buffer-growth allocation failure via large desktop geometry, limiting who can negotiate with the RDP server (restricting it to trusted networks or a VPN) and keeping memory headroom on the host reduces but does not fully eliminate exposure. Note that no public exploit code or confirmed in-the-wild exploitation exists at time of analysis, so these measures address a crash-only availability issue, not an attacker code-execution campaign.
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 is an open-source implementation of the Remote Desktop Protocol used both as a client and as a server-side library; CVE-2026-109257 lives in the server encoder path. NSCodec is the legacy NS bitmap compression codec (the pre-RemoteFX-era codec) still negotiable in RDP sessions, and nsc_context_initialize_encode() allocates per-plane buffers while storing the resulting plane pointers in the NSC context structure. When a malicious client negotiates NSCodec while specifying a very large desktop geometry, one or more of those plane buffer allocations can fail partway through initialization; the error path does not clear the already-stored plane pointers, so they dangle. The later context teardown frees those stale pointers a second time, the classic double-free pattern under CWE-415. In this specific code path the practical effect is heap-consistency failure or an abort/crash of the RDP server process rather than memory corruption that is reliably exploitable for code execution, which is why the independent assessment caps impact at High availability with no confidentiality or integrity effect. The CPE cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:* confirms that every FreeRDP release prior to 3.32.0 is in scope, but only deployments running FreeRDP in server mode with NSCodec available for negotiation are actually reachable.
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:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network-reachable and unauthenticated (AV:N/PR:N), but AC:H because exploitation depends on inducing a non-deterministic allocation failure; impact is availability-only (A:H, C:N/I:N).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
FreeRDP before 3.32.0 contains a double-free vulnerability in nsc_context_initialize_encode() that leaves dangling plane pointers after a partial buffer growth failure. Attackers using a crafted RDP client can negotiate NSCodec with a large desktop geometry to trigger allocation failure, crashing the server during context teardown.
Executive ViewAI
FreeRDP-based remote desktop servers running versions prior to 3.32.0 are affected by an availability-only denial-of-service vulnerability that can be triggered by an unauthenticated client negotiating NSCodec with an oversized desktop geometry. While exploitation is non-deterministic and server-mode deployments are less common than client-side use, a successful crash could disrupt remote access for affected teams. No public exploit identified at time of analysis, and no vendor-released patch identified at time of analysis, so leadership should prioritize exposure reduction and monitoring for critical remote desktop infrastructure.
No vendor-released patch identified at time of analysis; interim mitigations include restricting RDP server access to trusted networks, disabling NSCodec negotiation or enforcing maximum desktop geometry limits where configurable, monitoring for service crashes, and segmenting RDP infrastructure from general user networks.
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-97701
GHSA-q56w-xxg8-3cmg
NVD
CVE.org
EPSS
Exploit-DB