Skip to main content

FreeRDP EUVDEUVD-2026-115934

| CVE-2026-121402 HIGH
NULL Pointer Dereference (CWE-476)
2026-11-03 VulnCheck GHSA-hgjh-h5xh-g4gm
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    User connects to attacker-controlled RDP server
  2. Delivery
    RDPGFX capability exchange completes
  3. Exploit
    Server sends zero-width ResetGraphics PDU
  4. Execution
    gdi_ResetGraphics nulls client primary display surface
  5. Persist
    Server sends normal bitmap update
  6. Impact
    NULL 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

FreeRDP 0 <3.32.2

Affected Packages

euvd freerdp fix: 3.32.2

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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
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
vuln.today AI 6.5 MEDIUM

Network-delivered via malicious server; user must initiate the connection (UI:R); purely availability impact (client crash); scope unchanged.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Nov 03, 2026 - 16:17 EUVD
CVE Published
Nov 03, 2026 - 14:28 cve.org
HIGH 7.1

DescriptionCVE.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

Why It Matters

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.

Business Impact: Medium
Compensating Controls

Vendor-released patch: 3.32.2

Threat Intelligence Overview

Prevalence
Medium
popular open-source RDP client on Linux desktops and VDI
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

CVE-2026-25997 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_clipboard_format_equal before 3.23.0. Clipboard format comparison uses freed memory. Fifth

CVE-2026-25953 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Surface-to-window update triggers memory corrupti

CVE-2026-25952 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_SetWindowMinMaxInfo before version 3.23.0. X11 client window management triggers memory cor

CVE-2026-25959 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_cliprdr_provide_data clipboard handling before 3.23.0. Clipboard data exchange triggers mem

CVE-2026-22857 CRITICAL POC
9.8 Jan 14

FreeRDP IRP thread handler has a use-after-free where the IRP is freed by Complete() then accessed on the error path. Fi

CVE-2026-22854 CRITICAL POC
9.8 Jan 14

FreeRDP drive read heap overflow when server-controlled read length exceeds IRP output buffer. Fixed in 3.20.1. PoC avai

CVE-2026-22852 CRITICAL POC
9.8 Jan 14

FreeRDP client before 3.20.1 has a heap buffer overflow in AUDIN format processing. A malicious RDP server can corrupt m

CVE-2026-25955 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Different code path from CVE-2026-25953. PoC and

CVE-2024-32041 CRITICAL POC
9.8 Apr 22

FreeRDP is a free implementation of the Remote Desktop Protocol. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2023-40574 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

CVE-2023-40569 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

CVE-2023-40567 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy