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.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade freerdp-server-debuginfoUpgrade freerdpUpgrade freerdp-develUpgrade libwinprUpgrade freerdp-debugsourceUpgrade freerdp-libsUpgrade freerdp-serverUpgrade libwinpr-debuginfoUpgrade freerdp-debuginfoUpgrade libwinpr-develUpgrade freerdp-libs-debuginfo | Sep 1, 2026 | Aug 1, 2026 |
| Redhat_linux | — | Upgrade libwinpr-develUpgrade freerdp-libsUpgrade freerdpUpgrade libwinprUpgrade freerdp-server-debuginfoNo solution existsUpgrade freerdp-libs-debuginfoUpgrade freerdp-develUpgrade libwinpr-debuginfoUpgrade freerdp-debugsourceUpgrade freerdp-debuginfoUpgrade freerdp-server | Aug 5, 2026 | Aug 1, 2026 |
| Rocky_linux | — | Upgrade freerdp-server-debuginfoUpgrade freerdp-libsUpgrade freerdp-develUpgrade libwinprUpgrade libwinpr-debuginfoUpgrade freerdpUpgrade freerdp-serverUpgrade freerdp-debuginfoUpgrade libwinpr-develUpgrade freerdp-libs-debuginfoUpgrade freerdp-debugsource | Sep 3, 2026 | Sep 1, 2026 |
| Ubuntu | — | Upgrade freerdp3 | Aug 17, 2026 | Aug 1, 2026 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub