Description
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.26.0, a malicious RDP server can trigger a heap-buffer-overflow write in the FreeRDP client by sending crafted RDPGFX PDUs. The bug is in gdi_CacheToSurface: it validates a destination rectangle that is clamped to UINT16_MAX, but then performs the copy using the original cacheEntry->width/height. This can cause a large out-of-bounds heap write and may lead to client crashes or code execution. This bug is reachable from a malicious RDP server, but only when the client has RDPGFX enabled. This vulnerability is fixed in 3.26.0.
Problem types
CWE-122: Heap-based Buffer Overflow
Product status
References
github.com/...reeRDP/security/advisories/GHSA-p6r2-4hgm-m6ff
github.com/...reeRDP/security/advisories/GHSA-p6r2-4hgm-m6ff