CVE-2026-25955
📋 TL;DR
This is a use-after-free vulnerability in FreeRDP's X11 client where a cached XImage continues to reference freed memory. Attackers could potentially execute arbitrary code or cause denial of service. Users of FreeRDP versions before 3.23.0 are affected.
💻 Affected Systems
- FreeRDP
📦 What is this software?
Freerdp by Freerdp
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution leading to complete system compromise of the FreeRDP client machine
Likely Case
Application crash or denial of service of the FreeRDP client
If Mitigated
No impact if patched or workarounds applied
🎯 Exploit Status
Requires control of RDP server or ability to manipulate RDP traffic; memory corruption must be carefully crafted
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.23.0
Vendor Advisory: https://github.com/FreeRDP/FreeRDP/commit/169d358734509e82663a0d6a0085ae726d439d8e
Restart Required: Yes
Instructions:
1. Update FreeRDP to version 3.23.0 or later
2. Recompile if using source distribution
3. Restart any FreeRDP client sessions
🔧 Temporary Workarounds
Disable RDP Graphics Pipeline
linuxDisable the RDP graphics pipeline which contains the vulnerable code path
xfreerdp /gfx:off /v:target_server
Use Alternative RDP Client
allTemporarily use alternative RDP clients like rdesktop or Microsoft RDP client
🧯 If You Can't Patch
- Restrict RDP connections to trusted servers only
- Implement network segmentation to isolate RDP traffic
🔍 How to Verify
Check if Vulnerable:
Check FreeRDP version with: xfreerdp --version | grep -E '^This.*[0-9]'
Check Version:
xfreerdp --version
Verify Fix Applied:
Confirm version is 3.23.0 or higher: xfreerdp --version
📡 Detection & Monitoring
Log Indicators:
- FreeRDP segmentation faults
- X11 client crashes with memory access errors
Network Indicators:
- Unusual RDP traffic patterns to vulnerable clients
SIEM Query:
process.name:"xfreerdp" AND (event.action:"segmentation fault" OR event.action:"crash")
🔗 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