CVE-2026-23732
📋 TL;DR
FreeRDP clients prior to version 3.21.0 contain a buffer overflow vulnerability in FastGlyph parsing. A malicious RDP server can exploit this to cause a denial-of-service (client crash) by sending specially crafted packets. All FreeRDP client users connecting to untrusted servers are affected.
💻 Affected Systems
- FreeRDP
📦 What is this software?
Freerdp by Freerdp
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution leading to full client compromise, though CVSS suggests DoS is primary impact
Likely Case
Client crash/denial-of-service when connecting to malicious server
If Mitigated
No impact if patched version used or connections restricted to trusted servers
🎯 Exploit Status
Exploitation requires client to connect to malicious server; server-side control needed
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.21.0
Vendor Advisory: https://github.com/FreeRDP/FreeRDP/releases/tag/3.21.0
Restart Required: Yes
Instructions:
1. Download FreeRDP 3.21.0 or newer from official repository
2. Compile and install following platform-specific build instructions
3. Restart any FreeRDP client applications
🔧 Temporary Workarounds
Restrict RDP Connections
allOnly allow FreeRDP connections to trusted, internal RDP servers
🧯 If You Can't Patch
- Discontinue use of FreeRDP for connecting to untrusted RDP servers
- Use alternative RDP client software that is not vulnerable
🔍 How to Verify
Check if Vulnerable:
Check FreeRDP version with 'xfreerdp --version' or equivalent command
Check Version:
xfreerdp --version
Verify Fix Applied:
Verify version is 3.21.0 or higher after update
📡 Detection & Monitoring
Log Indicators:
- FreeRDP client crashes with segmentation faults
- Unexpected termination of RDP sessions
Network Indicators:
- RDP connections to unknown/untrusted servers
- Unusual RDP traffic patterns
SIEM Query:
source="freerdp" AND (event="crash" OR event="segmentation_fault")
🔗 References
- https://github.com/FreeRDP/FreeRDP/blob/f96ee2a6dd02739325c2a4e36a14978b561f00ea/libfreerdp/cache/glyph.c#L463-L480
- https://github.com/FreeRDP/FreeRDP/blob/f96ee2a6dd02739325c2a4e36a14978b561f00ea/libfreerdp/codec/color.c#L261-L277
- https://github.com/FreeRDP/FreeRDP/blob/f96ee2a6dd02739325c2a4e36a14978b561f00ea/libfreerdp/core/graphics.c#L138
- https://github.com/FreeRDP/FreeRDP/blob/f96ee2a6dd02739325c2a4e36a14978b561f00ea/libfreerdp/core/orders.c#L2186C17-L2199
- https://github.com/FreeRDP/FreeRDP/releases/tag/3.21.0
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-7qxp-j2fj-c3pp
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-7qxp-j2fj-c3pp