CyberRota Analysis
AI-GeneratedFreeRDP versions 3.28.0 and earlier are vulnerable to a heap buffer overflow in the server-side RAIL channel handler, allowing a malicious RDP client to exploit an integer underflow and perform out-of-bounds writes to the heap. This vulnerability can lead to server crashes and potential remote code execution, posing significant risks to system stability and security. Organizations using affected FreeRDP versions should prioritize upgrading to version 3.29.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 versions 3.28.0 and earlier contain a heap buffer overflow in the server-side RAIL channel handler (rail_server_handle_messages() in channels/rail/server/rail_main.c). When processing a RAIL PDU header, the code subtracts RAIL_PDU_HEADER_LENGTH from the peer-controlled orderLength field without first verifying orderLength is at least the header length. For orderLength values 0..3 this causes an unsigned integer underflow to a very large size, which bypasses the Stream_EnsureRemainingCapacity() capacity check (due to pointer arithmetic wraparound) and is then passed to WTSVirtualChannelRead(), resulting in an out-of-bounds heap write. A malicious or compromised RDP client can exploit this to corrupt the heap and crash the server. Fixed in FreeRDP 3.29.0.