What’s Vulnerable › Vulnerabilities
CVE-2026-25955: FreeRDP has heap-use-after-free in xf_AppUpdateWindowFromSurface (stale XImage)
- Severity: critical (CVSS 9.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-02-25 · updated 2026-06-17
- Weakness: CWE-416
Description
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_AppUpdateWindowFromSurface` reuses a cached `XImage` whose `data` pointer references a freed RDPGFX surface buffer, because `gdi_DeleteSurface` frees `surface->data` without invalidating the `appWindow->image` that aliases it. Version 3.23.0 fixes the issue.
Affected products
- FreeRDP: before 3.23.0 — fixed in 3.23.0
How to fix
Upgrade to a fixed version: FreeRDP 3.23.0. Check the vendor advisory for mitigations.
References
- https://github.com/FreeRDP/FreeRDP/blob/5c7aae27d0417b42b4806c2a5c583ca39dd9ef1e/client/X11/xf_window.c#L1484-L1492
- https://github.com/FreeRDP/FreeRDP/blob/5c7aae27d0417b42b4806c2a5c583ca39dd9ef1e/client/X11/xf_window.c#L1494-L1500
- https://github.com/FreeRDP/FreeRDP/blob/5c7aae27d0417b42b4806c2a5c583ca39dd9ef1e/client/X11/xf_window.c#L1528
- https://github.com/FreeRDP/FreeRDP/blob/5c7aae27d0417b42b4806c2a5c583ca39dd9ef1e/libfreerdp/gdi/gfx.c#L1224-L1227
- https://github.com/FreeRDP/FreeRDP/commit/169d358734509e82663a0d6a0085ae726d439d8e
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-4g54-x8v7-559x
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-4g54-x8v7-559x
Get alerted when CVE-2026-25955 or the next vulnerability affects your stack