Skip to main content

FreeRDP EUVDEUVD-2026-51824

| CVE-2026-67298 HIGH
Integer Underflow (CWE-191)
2026-08-01 VulnCheck GHSA-wrfm-6x9r-42cr
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Reach FreeRDP RDP server on TCP 3389
  2. Delivery
    Initiate RDP connection (no credentials required)
  3. Exploit
    Send RAIL virtual channel PDU with orderLength value 0-3
  4. Install
    Unsigned integer underflow produces near-UINT32_MAX size
  5. C2
    Pointer arithmetic wraparound defeats Stream_EnsureRemainingCapacity()
  6. Execute
    WTSVirtualChannelRead() performs out-of-bounds heap write
  7. Impact
    Server 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

FreeRDP 0 <3.29.0

Affected Packages

euvd freerdp fix: 3.29.0

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

Vendor (VulnCheck) PRIMARY 8.7 HIGH
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
vuln.today AI 7.5 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE 8.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
Red Hat 7.1 HIGH

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Medium
primary open-source RDP implementation, common in Linux remote-desktop deployments
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

CVE-2026-25997 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_clipboard_format_equal before 3.23.0. Clipboard format comparison uses freed memory. Fifth

CVE-2026-25953 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Surface-to-window update triggers memory corrupti

CVE-2026-25952 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_SetWindowMinMaxInfo before version 3.23.0. X11 client window management triggers memory cor

CVE-2026-25959 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_cliprdr_provide_data clipboard handling before 3.23.0. Clipboard data exchange triggers mem

CVE-2026-22857 CRITICAL POC
9.8 Jan 14

FreeRDP IRP thread handler has a use-after-free where the IRP is freed by Complete() then accessed on the error path. Fi

CVE-2026-22854 CRITICAL POC
9.8 Jan 14

FreeRDP drive read heap overflow when server-controlled read length exceeds IRP output buffer. Fixed in 3.20.1. PoC avai

CVE-2026-22852 CRITICAL POC
9.8 Jan 14

FreeRDP client before 3.20.1 has a heap buffer overflow in AUDIN format processing. A malicious RDP server can corrupt m

CVE-2026-25955 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Different code path from CVE-2026-25953. PoC and

CVE-2024-32041 CRITICAL POC
9.8 Apr 22

FreeRDP is a free implementation of the Remote Desktop Protocol. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2023-40574 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

CVE-2023-40569 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

CVE-2023-40567 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

Vendor 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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy