CVE-2026-44421
Modified Modified - Updated After Analysis
Heap-Buffer-Overflow in FreeRDP Client

Publication date: 2026-05-29

Last updated on: 2026-06-01

Assigner: GitHub, Inc.

Description
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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-29
Last Modified
2026-06-01
Generated
2026-06-19
AI Q&A
2026-05-30
EPSS Evaluated
2026-06-18
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
freerdp freerdp to 3.26.0 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-122 A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability is a heap-buffer-overflow in the FreeRDP client, specifically in the RDPGFX component. It occurs when a malicious RDP server sends specially crafted RDPGFX PDUs to a FreeRDP client that has RDPGFX enabled. The issue lies in the function gdi_CacheToSurface, where a destination rectangle is validated and clamped to a maximum value, but the actual memory copy uses the original, larger dimensions. This mismatch causes an out-of-bounds write on the heap, which can lead to client crashes or allow an attacker to execute arbitrary code.

Impact Analysis

This vulnerability can have severe impacts including causing the FreeRDP client to crash or allowing a remote attacker to execute arbitrary code on the client machine. Since the exploit can be triggered remotely by a malicious RDP server without requiring any privileges and only needing the user to connect, it poses a high security risk. This could lead to unauthorized access, data compromise, or disruption of services on the affected client.

Detection Guidance

This vulnerability can be detected by monitoring FreeRDP client versions and network traffic involving RDP connections with RDPGFX enabled. Specifically, detection involves identifying FreeRDP clients running versions prior to 3.26.0, as these are vulnerable.

Since the vulnerability is triggered by crafted RDPGFX PDUs sent from a malicious RDP server, network detection can focus on inspecting RDP traffic for unusual or malformed RDPGFX packets.

There is no direct command provided in the resources to detect exploitation attempts, but you can check the FreeRDP client version with the following command:

  • freerdp --version

For network monitoring, tools like Wireshark can be used to capture and analyze RDP traffic, filtering for RDPGFX PDUs to look for anomalies.

Mitigation Strategies

The immediate mitigation step is to upgrade the FreeRDP client to version 3.26.0 or later, where this vulnerability has been fixed.

If upgrading is not immediately possible, disabling RDPGFX support in the FreeRDP client can prevent the vulnerability from being triggered, as the bug is only reachable when RDPGFX is enabled.

Additionally, avoid connecting to untrusted or unknown RDP servers, as the vulnerability requires connecting to a malicious server to be exploited.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-44421. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart