CyberRota Analysis
AI-GeneratedFreeRDP clients prior to version 3.27.0 are vulnerable to a heap corruption issue when negotiating RDPGFX AVC444 with an H.264 decoder backend, allowing a malicious RDP server to exploit the buffer allocation process. This vulnerability can lead to client crashes and potentially enable remote code execution due to attacker-controlled memory manipulation. Organizations using FreeRDP should prioritize updating to version 3.27.0 or later to mitigate this high-severity risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.27.0, FreeRDP clients that negotiate RDPGFX AVC444 with an H.264 decoder backend calculate the intermediate YUV444 allocation size in libfreerdp/codec/h264.c with 32-bit multiplication in avc444_ensure_buffer. A malicious RDP server can supply surface dimensions for which piDstStride multiplied by padDstHeight wraps to a small nonzero value, causing winpr_aligned_recalloc to allocate an undersized buffer before YUV420CombineToYUV444 writes using the actual stride and rectangle dimensions. This can cause a client crash and may permit code execution through attacker-influenced heap corruption. This issue is fixed in version 3.27.0.