CVE-2026-67298: FreeRDP 3.28.0 Heap Buffer Overflow via RAIL orderLength Underflow
FreeRDP versions 3.28.0 and earlier contain a heap buffer overflow in the server-side RAIL channel handler (railserverhandlemessages() in channels/rail/server/railmain.c). When processing a RAIL PDU header, the code subtracts RAILPDUHEADERLENGTH 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 StreamEnsureRemainingCapacity() 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
FreeRDPto a version that resolves this vulnerability.Fixed in 3.29.0 - Compensating control
If you cannot immediately upgrade FreeRDP, restrict RDP/Rail access so untrusted or unverified clients cannot reach the affected server-side RAIL channel (rail_server_handle_messages()).
Event History
Frequently Asked Questions
What is the severity of CVE-2026-67298?
CVE-2026-67298 has a severity rating of 7.5, categorized as high.
How do I fix CVE-2026-67298?
To mitigate CVE-2026-67298, upgrade FreeRDP to version 3.29.0 or later.
What kind of vulnerability is CVE-2026-67298?
CVE-2026-67298 is a heap buffer overflow vulnerability caused by an integer underflow in FreeRDP.
Who is affected by CVE-2026-67298?
FreeRDP versions 3.28.0 and earlier are affected by CVE-2026-67298.
What are the potential impacts of CVE-2026-67298?
Exploitation of CVE-2026-67298 may lead to a denial of service due to the heap buffer overflow.