Skip to main content

FreeRDP CVE-2026-44421

| EUVDEUVD-2026-33433 HIGH
Heap-based Buffer Overflow (CWE-122)
2026-05-29 GitHub_M
8.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Lure victim to malicious RDP server
  2. Delivery
    Negotiate RDPGFX channel during session setup
  3. Exploit
    Send crafted CacheToSurface PDU with oversized cacheEntry dimensions
  4. Execution
    Bypass clamped rectangle validation in gdi_CacheToSurface
  5. Persist
    Trigger heap out-of-bounds write in client
  6. Impact
    Hijack control flow for code execution as client user

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Heap buffer bounds checking
MITRE ATT&CK

1 technique across 1 tactic: Execution

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 victim to initiate an RDP session to an attacker-controlled or attacker-compromised RDP server (UI:R user interaction) using a FreeRDP-based client older than 3.26.0 with the RDPGFX (MS-RDPEGFX Graphics Pipeline) channel negotiated and enabled - the upstream default in modern builds, commonly invoked via the /gfx flag or auto-enabled by GUI wrappers like Remmina. No client-side authentication or elevated privileges are needed on the victim host (PR:N), and the attack vector is network (AV:N), but the server-to-client direction means the attacker cannot reach the bug by scanning Internet-exposed RDP listeners; they must induce an outbound connection. Deployments that disable the Graphics Pipeline Extension or restrict outbound RDP to trusted servers are not reachable.

Impact

The CVSS 3.1 base of 8.8 (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) reflects a network-reachable, unauthenticated, low-complexity flaw with full CIA impact but requiring user interaction - consistent with a malicious-server attack where the user must initiate or accept an RDP connection. Real-world risk is moderated because exploitation is server-to-client (reverse direction from typical RDP attacks), so the attacker must lure a victim into connecting to a hostile server, and the client must have RDPGFX enabled (default in modern FreeRDP builds). EPSS, KEV status, and SSVC decision points are not provided in the supplied intelligence, so probability of in-the-wild exploitation cannot be quantified; the GHSA advisory is the sole reference and no POC is linked. Heap-overflow-to-RCE on a hardened Linux heap (glibc with ASLR/NX) typically requires a tailored exploit, so crash-level impact is highly likely while reliable code execution is plausible but not demonstrated in available data.

Exploit ScenarioDerived

An attacker stands up a malicious RDP server and lures a target into connecting - for example, via a phishing email containing an .rdp attachment, a malicious rdp:// URI handler invocation, or a compromised jump-host listing. Once the victim's FreeRDP client negotiates the RDPGFX channel, the server sends a crafted CacheToSurface PDU with oversized cacheEntry width/height, triggering the heap overflow in the client process and resulting in a client crash or, with a tailored payload, code execution in the user's session. No public exploit is identified at time of analysis, so weaponization currently requires the attacker to develop their own heap-grooming chain.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – May 29, 2026

Heap buffer overflow write in FreeRDP client versions prior to 3.26.0 allows a malicious RDP server to corrupt client memory and potentially achieve code execution when the victim connects with RDPGFX enabled. The flaw resides in gdi_CacheToSurface, where validation uses a clamped destination rectangle while the actual copy uses unclamped cacheEntry width/height values, enabling a large out-of-bounds heap write. No public exploit identified at time of analysis, and the issue is not listed in CISA KEV.

RemediationAI

Upgrade to FreeRDP 3.26.0 or later, which contains the upstream fix correcting gdi_CacheToSurface to use the validated dimensions during the copy; see the vendor advisory at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-p6r2-4hgm-m6ff for commit details. Where immediate upgrade is not possible, disable the Graphics Pipeline Extension on the client by removing the /gfx (and related /gfx-h264, /gfx-progressive) command-line flags or equivalent configuration in wrappers such as Remmina, which closes the vulnerable code path at the cost of falling back to legacy bitmap codecs with reduced visual quality and higher bandwidth use. Operationally, restrict outbound RDP (TCP/UDP 3389) from end-user workstations to a known allowlist of internal RDP gateways so users cannot be steered to attacker-controlled servers via phishing links or rdp:// handlers, accepting that this breaks ad-hoc connections to external hosts. Downstream Linux distributions should be monitored for backported package updates; verify the installed package version after patching rather than relying solely on distro changelog entries.

Affected VersionsENISA

FreeRDP < 3.26.0

Affected Packages

euvd freerdp fix: 3.26.0

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 the widely used open-source implementation of Microsoft's Remote Desktop Protocol, embedded in many Linux remote-desktop clients (Remmina, GNOME Connections, Weston, xrdp tooling) and downstream distributions. The root cause is a CWE-122 heap-based buffer overflow in the RDPGFX (Graphics Pipeline Extension, MS-RDPEGFX) surface caching path: gdi_CacheToSurface clamps the destination rectangle to UINT16_MAX for its bounds check but then performs the memcpy using the attacker-controlled cacheEntry->width and cacheEntry->height fields delivered via crafted RDPGFX PDUs. Because the validated rectangle and the copied region are derived from different values, the size check is effectively bypassed, producing a large out-of-bounds heap write into GDI surface buffers. CPE coverage in NVD is the wildcard cpe:2.3:a:freerdp:freerdp:*, indicating all upstream versions before 3.26.0 share the vulnerable code path.

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 (GitHub_M) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
SUSE HIGH
Red Hat 8.8 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

1
Patch available
May 29, 2026 - 21:02 EUVD

DescriptionCVE.org

FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.26.0, a malicious RDP server can trigger a heap-buffer-overflow write in the FreeRDP client by sending crafted RDPGFX PDUs. The bug is in gdi_CacheToSurface: it validates a destination rectangle that is clamped to UINT16_MAX, but then performs the copy using the original cacheEntry->width/height. This can cause a large out-of-bounds heap write and may lead to client crashes or code execution. This bug is reachable from a malicious RDP server, but only when the client has RDPGFX enabled. This vulnerability is fixed in 3.26.0.

Executive ViewAI

Why It Matters

FreeRDP client versions prior to 3.26.0 contain a heap buffer overflow in the graphics rendering pipeline that allows a malicious RDP server to execute arbitrary code on vulnerable systems. Organizations using FreeRDP for remote access lack a vendor patch and must implement immediate compensating controls to prevent code execution via compromised or attacker-controlled RDP servers.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable RDPGFX graphics pipeline in FreeRDP client configuration; (2) Require VPN tunnel for all RDP connections; (3) Implement server-side allowlist restricting RDP access to known trusted systems; (4) Deploy network segmentation limiting RDP protocol to dedicated access infrastructure; (5) Configure endpoint detection and response for abnormal process execution following RDP session establishment.

Threat Intelligence Overview

EPSS Score
0.0%
Top 84% exploitable
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub VulDB

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 0.0%
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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

A heap overflow occurs when a program writes data beyond the bounds of a buffer allocated in the heap memory region.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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

Vendor StatusVendor

SUSE

Severity: High
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Module for Package Hub 15 SP7 Fixed
SUSE Linux Enterprise Module for Package Hub 15 SP7 Fixed

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