Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessUser connects to attacker-controlled RDP server
-
DeliveryRDPGFX capability exchange completes
-
ExploitServer sends zero-width ResetGraphics PDU
-
Executiongdi_ResetGraphics nulls client primary display surface
-
PersistServer sends normal bitmap update
-
ImpactNULL dereference crashes xfreerdp client
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the xfreerdp client to connect to an attacker-controlled RDP server and for the RDPGFX graphics pipeline channel to be established via capability exchange. The malicious server must send an RDPGFX ResetGraphics PDU with width=0 (zero desktop width) followed by any normal bitmap update. The crash is confirmed on the X11 software GDI backend on Linux; other client backends and non-Linux platforms were not tested in the available evidence. The limiting factor is that the user must actively initiate or be redirected to a connection to the malicious server (CVSS UI:P). There is no exploitation path against a server or against clients that do not connect to the attacker's infrastructure. The session need not be authenticated to a domain - the attacker controls the server side, so PR:N applies to the attacker. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VA:H) scores 7.1, reflecting a network-reachable, low-complexity crash limited to the vulnerable client's availability - no confidentiality or integrity impact is present. The UI:P metric is the pivotal limiting factor: a user must actively connect xfreerdp to a malicious RDP server, precluding mass or opportunistic scanning-based exploitation. The decision label is 'this_week', consistent with the availability-only impact and interaction requirement. No CISA KEV listing exists; the GHSA advisory from the FreeRDP project contains a detailed callback-level C harness and records a live TLS/NLA test that produced SIGSEGV at gdi_Bitmap_Paint, confirming the crash is reproducible from a real network session. No attacker-controlled write, information disclosure, or code execution was shown - the demonstrated impact is exclusively client process termination. EPSS data is absent from the provided input. The primary realistic risk is denial of service against xfreerdp users who connect to untrusted servers (public kiosks, BYOD environments, penetration test targets connecting to rogue hosts). The lack of code execution and requirement for user-initiated connection substantially limits blast radius compared to a server-side RCE of equivalent CVSS score. |
| Exploit ScenarioDerived | An attacker operates a malicious RDP server and persuades or redirects an xfreerdp user to connect to it. After TLS/NLA capability exchange and RDPGFX channel establishment, the server sends a ResetGraphics PDU with width=0, which nulls the client's primary GDI surface without terminating the session. The server then sends a normal bitmap update; gdi_Bitmap_Paint dereferences the NULL primary->hdc pointer and the client exits with SIGSEGV. A public PoC with demonstrated crash reproduction exists in the GHSA advisory, including a live TLS/NLA test result confirming exit code 139 at gdi_Bitmap_Paint. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
Client-side denial of service in FreeRDP xfreerdp before 3.32.2 lets a malicious RDP server crash the connecting Linux X11 client by sending an RDPGFX ResetGraphics PDU with width zero followed by any ordinary bitmap update. The zero dimension passes the RDPGFX parser's bounds check, the resulting failed resize frees and nulls the GDI primary surface without ending the session, and the next bitmap paint dereferences the null pointer in gdi_Bitmap_Paint. Impact is confined to availability (CVSS 4.0 7.1; assessed 3.1 AV:N/AC:L/PR:N/UI:R/A:H with no C or I impact), the user must connect to the attacker-controlled server for exploitation, a public PoC reference exists in the GitHub advisory but is a callback-level harness not verified as working exploit code, and no KEV-listed active exploitation was reported.
RemediationAI
Upgrade FreeRDP to 3.32.2, which is the fixed release listed in the upstream package data; the patch details are in the FreeRDP security advisory at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-c426-ppvf-jpfg and the VulnCheck advisory at https://www.vulncheck.com/advisories/freerdp-before-3.32.2-x11-client-crash-via-zero-width-rdpgfx-resetgraphics. The advisory's suggested code-level remediation is to reject zero desktop dimensions before invoking the graphics reset callback, and to make resize preserve the old primary surface, settings and X11 image until the replacement is ready or close the session when display state cannot be restored, with testing of zero-width and zero-height resets followed by a valid drawing update plus nonzero-size controls on the real client receive path. The advisory documents no client-side configuration workaround, so until 3.32.2 is deployed the practical limitation is exposure: the crash requires the user to initiate or be redirected into a session against an untrusted RDP server, so restricting xfreerdp connections to trusted hosts and avoiding unsolicited .rdp files reduces the attack surface.
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
The flaw sits in the client-side RDPGFX (graphics pipeline dynamic virtual channel) handling of the ResetGraphics PDU. FreeRDP's rdpgfx client parser (channels/rdpgfx/client/rdpgfx_main.c) rejects dimensions above MAX_SURFACE_SIZE but accepts zero, so a zero width reaches gdi_ResetGraphics (libfreerdp/gdi/gfx.c), which commits the zero DesktopWidth setting and calls the update->DesktopResize callback into gdi_resize_ex (libfreerdp/gdi/gdi.c). gdi_resize_ex frees and nulls the existing primary display before the replacement is successfully created, and the zero-width surface creation fails (gdi_CreateCompatibleBitmap effectively does calloc(0,h), which returns NULL). Because the graphics-channel error (1359) is only logged and the core session is not torn down, gdi->primary remains NULL; the next bitmap update reaches gdi_Bitmap_Paint and dereferences context->gdi->primary->hdc in gdi_BitBlt, producing a SIGSEGV. The root cause class is CWE-476 (NULL pointer dereference), with the advisory also tagging CWE-20 for the missing zero-dimension validation. Confirmed reproduction is on the X11 software GDI backend on Linux with a zero-monitor reset; a one-monitor variant and other client back ends were not tested. This path is distinct from GHSA-r7jx-j9h7-j4xj, which covers uninitialized padding in the server-side ResetGraphics serializer and is fixed in 3.31.0.
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:H/SC:N/SI:N/SA:N
Network-delivered via malicious server; user must initiate the connection (UI:R); purely availability impact (client crash); scope unchanged.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
FreeRDP before 3.32.2 contains a NULL pointer dereference vulnerability that allows malicious RDP servers to crash xfreerdp clients by sending a zero-width RDPGFX ResetGraphics PDU. The failed resize in gdi_resize_ex leaves the primary display null without ending the session, so a later bitmap update crashes the client in gdi_Bitmap_Paint.
Executive ViewAI
A high-severity client-side availability flaw in FreeRDP's Linux X11 client (xfreerdp) allows a malicious RDP server to crash users' remote desktop sessions by sending a crafted graphics update. This does not expose data or enable code execution, but any employee or partner connecting via xfreerdp to an untrusted RDP endpoint is at risk of session disruption, undermining availability of remote access workflows. Leadership should care because it affects workforce productivity for teams relying on FreeRDP for remote connectivity, though exploitation requires the user to initiate a connection to a hostile server and no active exploitation is currently reported.
Vendor-released patch: 3.32.2
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
A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).
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-115934
GHSA-hgjh-h5xh-g4gm
NVD
CVE.org
Exploit-DB