CVE-2026-26955: FreeRDP has Out-of-bounds Write
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 gdiSurfaceCommandClearCodec() handler does not call iswithinsurface() 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 (NSCCONTEXT.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 Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
FreeRDPto a version that resolves this vulnerability.Fixed in 3.23.0
Event History
Frequently Asked Questions
What is the severity of CVE-2026-26955?
CVE-2026-26955 has a high severity due to its potential to cause a heap buffer overflow that can be exploited by malicious RDP servers.
How do I fix CVE-2026-26955?
To fix CVE-2026-26955, upgrade FreeRDP to version 3.23.0 or later.
What are the affected versions of FreeRDP for CVE-2026-26955?
FreeRDP versions prior to 3.23.0 are affected by CVE-2026-26955.
What impact does CVE-2026-26955 have on FreeRDP clients?
CVE-2026-26955 can lead to a heap buffer overflow in FreeRDP clients, potentially allowing remote code execution.
Is CVE-2026-26955 related to the Remote Desktop Protocol?
Yes, CVE-2026-26955 is directly related to the Remote Desktop Protocol as it affects FreeRDP, an implementation of this protocol.