CVE-2026-26955
published 2026-02-25CVE-2026-26955: FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a malicious RDP server can trigger a heap buffer overflow in FreeRDP…
PriorityP356high8.8CVSS 3.1
AVNACLPRNUIRSUCHIHAH
EPSS
0.54%
41.4th percentile
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a malicious RDP server can trigger a heap buffer overflow in FreeRDP clients using the GDI surface pipeline (e.g., `xfreerdp`) by sending an RDPGFX ClearCodec surface command with an out-of-bounds destination rectangle. The `gdi_SurfaceCommand_ClearCodec()` handler does not call `is_within_surface()` to validate the command rectangle against the destination surface dimensions, allowing attacker-controlled `cmd->left`/`cmd->top` (and subcodec rectangle offsets) to reach image copy routines that write into `surface->data` without bounds enforcement. The OOB write corrupts an adjacent `gdiGfxSurface` struct's `codecs*` pointer with attacker-controlled pixel data, and corruption of `codecs*` is sufficient to reach an indirect function pointer call (`NSC_CONTEXT.decode` at `nsc.c:500`) on a subsequent codec command — full instruction pointer (RIP) control demonstrated in exploitability harness. Users should upgrade to version 3.23.0 to receive a patch.
Affected
3 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | freerdp2 | < freerdp3 3.23.0+dfsg-1 (forky) | freerdp3 3.23.0+dfsg-1 (forky) |
| debian | freerdp3 | < freerdp3 3.23.0+dfsg-1 (forky) | freerdp3 3.23.0+dfsg-1 (forky) |
| freerdp | freerdp | < 3.23.0 | 3.23.0 |
CVSS provenance
nvdv3.18.8HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
osv8.8HIGH
vendor_debian8.8HIGH
vendor_redhat8.8HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Ubuntu
FreeRDP vulnerabilities
vendor_ubuntu·2026-03-18
CVE-2026-25954 FreeRDP vulnerabilities
Title: FreeRDP vulnerabilities
Summary: Several security issues were fixed in FreeRDP.
It was discovered that FreeRDP incorrectly handled certain RDP packets. A
remote attacker could use this issue to cause FreeRDP to crash, resulting
in a denial of service, or possibly execute arbitrary code.
Instructions: In general, a standard system update will make all the necessary changes.
Red Hat
freerdp: FreeRDP: Arbitrary code execution via heap buffer overflow in GDI surface pipeline
vendor_redhat·2026-02-25·CVSS 8.8
CVE-2026-26955 [HIGH] CWE-805 freerdp: FreeRDP: Arbitrary code execution via heap buffer overflow in GDI surface pipeline
freerdp: FreeRDP: Arbitrary code execution via heap buffer overflow in GDI surface pipeline
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a malicious RDP server can trigger a heap buffer overflow in FreeRDP clients using the GDI surface pipeline (e.g., `xfreerdp`) by sending an RDPGFX ClearCodec surface command with an out-of-bounds destination rectangle. The `gdi_SurfaceCommand_ClearCodec()` handler does not call `is_within_surface()` to validate the command rectangle against the destination surface dimensions, allowing attacker-controlled `cmd->left`/`cmd->top` (and subcodec rectangle offsets) to reach image copy routines that write into `surface->data` without bounds enforcement. The OOB write corrupts an adjacent `gdiGfxSurface` struct's `co
Debian
CVE-2026-26955: freerdp2 - FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to versio...
vendor_debian·2026·CVSS 8.8
CVE-2026-26955 [HIGH] CVE-2026-26955: freerdp2 - FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to versio...
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a malicious RDP server can trigger a heap buffer overflow in FreeRDP clients using the GDI surface pipeline (e.g., `xfreerdp`) by sending an RDPGFX ClearCodec surface command with an out-of-bounds destination rectangle. The `gdi_SurfaceCommand_ClearCodec()` handler does not call `is_within_surface()` to validate the command rectangle against the destination surface dimensions, allowing attacker-controlled `cmd->left`/`cmd->top` (and subcodec rectangle offsets) to reach image copy routines that write into `surface->data` without bounds enforcement. The OOB write corrupts an adjacent `gdiGfxSurface` struct's `codecs*` pointer with attacker-controlled pixel data, and corruption of `codecs*` is sufficient
VulDB
FreeRDP up to 3.22.x gdi_SurfaceCommand_ClearCodec out-of-bounds write (GHSA-mr6w-ch7c-mqqj / Nessus ID 299994)
vuldb·2026-05-14·CVSS 8.8
CVE-2026-26955 [HIGH] FreeRDP up to 3.22.x gdi_SurfaceCommand_ClearCodec out-of-bounds write (GHSA-mr6w-ch7c-mqqj / Nessus ID 299994)
A vulnerability marked as critical has been reported in FreeRDP up to 3.22.x. Affected is the function gdi_SurfaceCommand_ClearCodec. Performing a manipulation results in out-of-bounds write.
This vulnerability is identified as CVE-2026-26955. The attack can be initiated remotely. There is not any exploit available.
It is suggested to upgrade the affected component.
OSV
CVE-2026-26955: FreeRDP is a free implementation of the Remote Desktop Protocol
osv·2026-02-25·CVSS 8.8
CVE-2026-26955 [HIGH] CVE-2026-26955: FreeRDP is a free implementation of the Remote Desktop Protocol
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a malicious RDP server can trigger a heap buffer overflow in FreeRDP clients using the GDI surface pipeline (e.g., `xfreerdp`) by sending an RDPGFX ClearCodec surface command with an out-of-bounds destination rectangle. The `gdi_SurfaceCommand_ClearCodec()` handler does not call `is_within_surface()` to validate the command rectangle against the destination surface dimensions, allowing attacker-controlled `cmd->left`/`cmd->top` (and subcodec rectangle offsets) to reach image copy routines that write into `surface->data` without bounds enforcement. The OOB write corrupts an adjacent `gdiGfxSurface` struct's `codecs*` pointer with attacker-controlled pixel data, and corruption of `codecs*` is sufficient
No detection rules found.
No public exploits indexed.
Wiz
CVE-2026-26955 Impact, Exploitability, and Mitigation Steps | Wiz
blogs_wiz·CVSS 8.8
CVE-2026-26955 [HIGH] CVE-2026-26955 Impact, Exploitability, and Mitigation Steps | Wiz
## CVE-2026-26955 :
NixOS vulnerability analysis and mitigation
xfreerdp
gdi_SurfaceCommand_ClearCodec()
is_within_surface()
cmd->left
cmd->top
surface->data
gdiGfxSurface
codecs*
codecs*
NSC_CONTEXT.decode
nsc.c:500
Source : NVD
## 8.8
Score
Published February 25, 2026
Severity HIGH
CNA Score 8.8
Affected Technologies
NixOS
Alma Linux
Has Public Exploit Yes
Has CISA KEV Exploit No
CISA KEV Release Date N/A
CISA KEV Due Date N/A
Exploitation Probability Percentile (EPSS) 15.3
Exploitation Probability (EPSS) N/A
Affected packages and libraries
libfreerdp2-2
libwinpr-debuginfo
Sources
NVD
AlmaLinux 8 Severity HIGH Has Fix Added at: Apr 05, 2026
AlmaLinux 9 Severity HIGH Has Fix Added at: Apr 02, 2026
Alpine 3.10, 3.11, 3.12, 3.13, 3.14, 3.15, 3.16, 3.17,
Bugzilla
CVE-2026-26955 freerdp: FreeRDP: Arbitrary code execution via heap buffer overflow in GDI surface pipeline
bugzilla·2026-02-26·CVSS 8.8
CVE-2026-26955 [HIGH] CVE-2026-26955 freerdp: FreeRDP: Arbitrary code execution via heap buffer overflow in GDI surface pipeline
CVE-2026-26955 freerdp: FreeRDP: Arbitrary code execution via heap buffer overflow in GDI surface pipeline
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a malicious RDP server can trigger a heap buffer overflow in FreeRDP clients using the GDI surface pipeline (e.g., `xfreerdp`) by sending an RDPGFX ClearCodec surface command with an out-of-bounds destination rectangle. The `gdi_SurfaceCommand_ClearCodec()` handler does not call `is_within_surface()` to validate the command rectangle against the destination surface dimensions, allowing attacker-controlled `cmd->left`/`cmd->top` (and subcodec rectangle offsets) to reach image copy routines that write into `surface->data` without bounds enforcement. The OOB write corrupts an adjacent `gdiGfxSurfac
https://github.com/FreeRDP/FreeRDP/commit/7d8fdce2d0ef337cb86cb37fc0c436c905e04d77https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-mr6w-ch7c-mqqjhttps://access.redhat.com/errata/RHSA-2026:19033https://access.redhat.com/errata/RHSA-2026:5936https://access.redhat.com/errata/RHSA-2026:5939https://access.redhat.com/errata/RHSA-2026:6004https://access.redhat.com/errata/RHSA-2026:6005https://access.redhat.com/errata/RHSA-2026:6384https://access.redhat.com/errata/RHSA-2026:6385https://access.redhat.com/errata/RHSA-2026:6395https://access.redhat.com/errata/RHSA-2026:6396https://access.redhat.com/errata/RHSA-2026:6616https://access.redhat.com/errata/RHSA-2026:6665https://access.redhat.com/errata/RHSA-2026:6712https://access.redhat.com/errata/RHSA-2026:6764https://access.redhat.com/errata/RHSA-2026:7292https://access.redhat.com/security/cve/CVE-2026-26955https://bugzilla.redhat.com/show_bug.cgi?id=2443132https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-26955.json
2026-02-25
Published