Out-of-bounds Write Affecting freerdp package, versions <3.23.0-r0


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.04% (13th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Out-of-bounds Write vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-ALPINE323-FREERDP-15364923
  • published28 Feb 2026
  • disclosed25 Feb 2026

Introduced: 25 Feb 2026

NewCVE-2026-26955  (opens in a new tab)
CWE-787  (opens in a new tab)

How to fix?

Upgrade Alpine:3.23 freerdp to version 3.23.0-r0 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream freerdp package and not the freerdp package as distributed by Alpine. See How to fix? for Alpine:3.23 relevant fixed versions and status.

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-&gt;left/cmd-&gt;top (and subcodec rectangle offsets) to reach image copy routines that write into surface-&gt;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.