Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconReach FreeRDP RDP server on TCP 3389
-
DeliveryInitiate RDP connection (no credentials required)
-
ExploitSend RAIL virtual channel PDU with orderLength value 0-3
-
InstallUnsigned integer underflow produces near-UINT32_MAX size
-
C2Pointer arithmetic wraparound defeats Stream_EnsureRemainingCapacity()
-
ExecuteWTSVirtualChannelRead() performs out-of-bounds heap write
-
ImpactServer process crashes (denial of service)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer underflow checks
|
| Exploitation Conditions | The target must be running FreeRDP in server mode (not client mode) with the RAIL virtual channel handler active, which requires RemoteApp or seamless window functionality to be enabled server-side. The CVSS 4.0 vector (PR:N/UI:N) indicates no authentication is required - the malformed RAIL PDU can be delivered during the virtual channel setup phase before credential validation completes. The attacker requires only network connectivity to the RDP listener port (default TCP 3389). Exploitation is limited to denial-of-service (process crash); the description does not confirm arbitrary code execution. Environments that use FreeRDP strictly as an RDP client and not as an RDP server are not affected by this vulnerability. Non-default RemoteApp/RAIL channel configuration is the key limiting factor - standard RDP-only deployments without RAIL enabled are not exposed to this code path. |
| Impact | The CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N) indicates a network-reachable, low-complexity, unauthenticated denial-of-service. Impact is strictly availability - heap corruption causes a server process crash but no confirmed confidentiality or integrity breach based on the description. This is consistent with a classic integer-underflow-driven DoS: real-world severity is significant for environments that depend on FreeRDP as an RDP server, but it does not represent a code-execution or data-exfiltration risk as described. No EPSS data was provided in the input, so exploitation probability cannot be quantified. The vulnerability is not listed in CISA KEV and no public POC has been identified, indicating opportunistic mass exploitation is not currently occurring. The primary real-world risk is targeted disruption of FreeRDP-based remote desktop infrastructure. Defenders should treat this as a high-priority patch given the zero-complexity, unauthenticated vector, even though the impact ceiling is DoS. |
| Exploit ScenarioDerived | An attacker who can establish a TCP connection to a FreeRDP RDP server sends a RAIL virtual channel PDU with orderLength set to a value between 0 and 3 during the RAIL channel communication phase. The unchecked subtraction underflows to a near-maximum unsigned integer, which then bypasses the stream capacity guard and causes WTSVirtualChannelRead() to write far beyond the allocated heap buffer, corrupting adjacent heap metadata and crashing the server process. No public proof-of-concept exploit exists at time of analysis, but the vulnerability is mechanically straightforward to trigger given the predictable integer underflow behavior. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 01, 2026
Heap buffer overflow in FreeRDP's server-side RAIL channel handler (versions ≤ 3.28.0) allows any connecting RDP client to crash the FreeRDP server process through a crafted RAIL PDU. The root cause is an unchecked subtraction of RAIL_PDU_HEADER_LENGTH from a client-controlled orderLength field in rail_server_handle_messages(); values 0-3 cause an unsigned integer underflow to a very large size, which causes pointer arithmetic wraparound that defeats the Stream_EnsureRemainingCapacity() guard, ultimately triggering an out-of-bounds heap write via WTSVirtualChannelRead(). No public exploit or active exploitation (CISA KEV) has been identified at time of analysis; a vendor patch is available in FreeRDP 3.29.0.
RemediationAI
Upgrade to FreeRDP 3.29.0, which contains the fix across two commits: https://github.com/FreeRDP/FreeRDP/commit/5370fb26fbf034ecd11d3026b6ad639b5fff493f and https://github.com/FreeRDP/FreeRDP/commit/46848765f2a1134f8652f8760eefb5e85d64a9b8. The vendor security advisory is at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-qmvw-52ph-q5pv and the VulnCheck advisory is at https://www.vulncheck.com/advisories/freerdp-heap-buffer-overflow-via-rail-orderlength-underflow. For deployments where immediate upgrade is not feasible, disable the RAIL (RemoteApp) virtual channel on the FreeRDP server if RemoteApp functionality is not operationally required - this eliminates the vulnerable code path entirely, though it removes RemoteApp/seamless window support. Alternatively, restrict RDP server access to trusted client IP ranges via firewall rules on TCP 3389 to limit exposure to untrusted clients, accepting the trade-off that this does not eliminate the vulnerability but reduces the attack surface.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
FreeRDP (CPE: cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*) is the dominant open-source implementation of the Remote Desktop Protocol, used extensively in Linux environments and remote-desktop infrastructure. The vulnerability resides in the server-side RAIL (Remote Application Integrated Locally) virtual channel, which supports RemoteApp seamless window functionality. The root cause is CWE-191 (Integer Underflow / Wraparound): the code performs size = orderLength - RAIL_PDU_HEADER_LENGTH using unsigned arithmetic without a prior bounds check that orderLength is at least RAIL_PDU_HEADER_LENGTH (4 bytes). When a client sends orderLength of 0-3, the result wraps to a value near UINT32_MAX. The subsequent Stream_EnsureRemainingCapacity() call fails to detect the oversized request because stream pointer arithmetic also wraps, and WTSVirtualChannelRead() then attempts to read that enormous length into a normally-sized heap buffer, producing an out-of-bounds write. The flaw is in channels/rail/server/rail_main.c and affects all FreeRDP releases through 3.28.0, as confirmed by EUVD-2026-51824 and the GitHub security advisory GHSA-qmvw-52ph-q5pv.
Know when Freerdp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network-reachable RDP server, no authentication required per CVSS 4.0 PR:N; impact is process crash only, with no confidentiality or integrity effect described.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
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.
Executive ViewAI
CVE-2026-67298 affects FreeRDP remote access servers (versions ≤3.28.0) with a denial-of-service vulnerability that can crash the server via a malformed client message, disrupting remote access services. Organizations using FreeRDP for RDP infrastructure face potential service disruptions affecting workforce productivity and business continuity in remote work environments.
Apply vendor patch. Until patching is complete, implement network-based access controls to restrict RDP connectivity to known, trusted client IP ranges, and disable the RAIL channel if not required for business operations.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.
Use-after-free in FreeRDP xf_clipboard_format_equal before 3.23.0. Clipboard format comparison uses freed memory. Fifth
Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Surface-to-window update triggers memory corrupti
Use-after-free in FreeRDP xf_SetWindowMinMaxInfo before version 3.23.0. X11 client window management triggers memory cor
Use-after-free in FreeRDP xf_cliprdr_provide_data clipboard handling before 3.23.0. Clipboard data exchange triggers mem
FreeRDP IRP thread handler has a use-after-free where the IRP is freed by Complete() then accessed on the error path. Fi
FreeRDP drive read heap overflow when server-controlled read length exceeds IRP output buffer. Fixed in 3.20.1. PoC avai
FreeRDP client before 3.20.1 has a heap buffer overflow in AUDIN format processing. A malicious RDP server can corrupt m
Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Different code path from CVE-2026-25953. PoC and
FreeRDP is a free implementation of the Remote Desktop Protocol. Rated critical severity (CVSS 9.8), this vulnerability
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
Same weakness CWE-191 – Integer Underflow
View allSame technique Buffer Overflow
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP7 | Not-Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 12 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 12 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 12 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 12 SP5-LTSS Extended Security | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 12 SP5 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Desktop 12 SP2 | Not-Affected |
| SUSE Linux Enterprise Desktop 12 SP3 | Not-Affected |
| SUSE Linux Enterprise Desktop 12 SP4 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 12 SP2 | Not-Affected |
| SUSE Linux Enterprise Server 12 SP3 | Not-Affected |
| SUSE Linux Enterprise Server 12 SP4 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 12 SP2 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 12 SP3 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 12 SP4 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Software Development Kit 12 SP2 | Not-Affected |
| SUSE Linux Enterprise Software Development Kit 12 SP3 | Not-Affected |
| SUSE Linux Enterprise Software Development Kit 12 SP4 | Not-Affected |
| SUSE Linux Enterprise Software Development Kit 12 SP5 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 12 SP2 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 12 SP3 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 12 SP4 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 12 SP5 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP6 | Not-Affected |
| openSUSE Leap 15.4 | Not-Affected |
| openSUSE Leap 15.5 | Not-Affected |
| openSUSE Leap 15.6 | Not-Affected |
EUVD-2026-51824
GHSA-wrfm-6x9r-42cr
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB