FreeRDP 3.28.0 Heap Buffer Overflow via RAIL orderLength Underflow
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 6 fixed, 1 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and Red Hat. Impact type from CWE-191 and the CVSS impact.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA FreeRDP (FreeRDP) Fixed in 3.29.0
Red Hat 3 advisories
- RHSA-2026:68707 Released 2026-09-17 · Red Hat rating Importantfreerdp security update
- Red Hat Enterprise Linux Server (v. 7 ELS) freerdp-2.1.1-5.el7_9.12, freerdp-libs-2.1.1-5.el7_9.12, freerdp-libs-2.1.1-5.el7_9.12.ppc +2
- Red Hat Enterprise Linux Server Optional (v. 7 ELS) freerdp-devel-2.1.1-5.el7_9.12, freerdp-devel-2.1.1-5.el7_9.12.ppc, libwinpr-devel-2.1.1-5.el7_9.12 +1
- RHSA-2026:68706 Released 2026-09-17 · Red Hat rating Importantfreerdp security update
- Red Hat Enterprise Linux AppStream EUS (v. 10.0) freerdp-2:3.10.3-3.el10_0.16, freerdp-libs-2:3.10.3-3.el10_0.16, libwinpr-2:3.10.3-3.el10_0.16
- Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) freerdp-devel-2:3.10.3-3.el10_0.16, freerdp-server-2:3.10.3-3.el10_0.16, libwinpr-devel-2:3.10.3-3.el10_0.16
- RHSA-2026:61378 Released 2026-08-31 · Red Hat rating Importantfreerdp security update
- Red Hat Enterprise Linux AppStream (v. 10) freerdp-2:3.10.3-12.el10_2.10, freerdp-libs-2:3.10.3-12.el10_2.10, libwinpr-2:3.10.3-12.el10_2.10
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) freerdp-devel-2:3.10.3-12.el10_2.10, freerdp-server-2:3.10.3-12.el10_2.10, libwinpr-devel-2:3.10.3-12.el10_2.10
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
FreeRDP 3.29.0
21 records Highest priority Priority HIGH 11 HIGH, 9 MEDIUM, 1 LOW
Other records, highest priority first
- TI-2026-47600 FreeRDP before 3.29.0 NULL Dereference via smartcard cleanupPriority HIGH 77
- TI-2026-47597 FreeRDP before 3.29.0 Out-of-bounds Read via Polygon async message-proxyPriority HIGH 77
- TI-2026-47595 FreeRDP before 3.29.0 Use-After-Free via WindowIcon async messagePriority HIGH 77
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux AppStream (v. 10) | Fixed | RHSA-2026:61378 |
| Red Hat Enterprise Linux AppStream EUS (v. 10.0) | Fixed | RHSA-2026:68706 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) | Fixed | RHSA-2026:61378 |
| Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) | Fixed | RHSA-2026:68706 |
| Red Hat Enterprise Linux Server (v. 7 ELS) | Fixed | RHSA-2026:68707 |
| Red Hat Enterprise Linux Server Optional (v. 7 ELS) | Fixed | RHSA-2026:68707 |
Not affected: 2 products
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
Timeline
- 2026-10-02 Threatist record created from CVE-2026-67298
- 2026-10-03 Alias added: GHSA-wrfm-6x9r-42cr
References
More Freerdp vulnerabilities
- TI-2026-85092 Use-after-free in FreeRDP rdpgfx channel close handling CVSS 4.0CRITICAL 9.3
- TI-2026-85091 Out-of-bounds write in FreeRDP proxy via bitmap cache v2 capability CVSS 4.0CRITICAL 9.3
- TI-2026-24435 FreeRDP has a `size_t` underflow in ADPCM decoder leads to heap-buffer-overflow write CVSS 3.1CRITICAL 9.8
- TI-2023-21373 Out-Of-Bounds Write in FreeRDP CVSS 3.1CRITICAL 9.8
- TI-2022-08692 Server side NTLM does not properly check parameters in FreeRDP CVSS 3.1CRITICAL 9.1
- TI-2023-21374 Out-Of-Bounds Read in FreeRDP CVSS 3.1CRITICAL 9.1
Sources
- CVE-2026-67298 · CVE Program
- CVE-2026-67298 · NVD
- FIRST EPSS
- GHSA-wrfm-6x9r-42cr · GitHub Advisory Database · CC BY 4.0
- CVE-2026-67298 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences