Skip to main content

FreeRDP CVE-2026-67299

| EUVDEUVD-2026-51820 HIGH
Use After Free (CWE-416)
2026-08-01 VulnCheck GHSA-jq8c-588g-4wgj
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Recon
    Attacker operates malicious RDP server
  2. Delivery
    Victim connects with /async-update enabled
  3. Exploit
    Server sends crafted RAIL WINDOW_ORDER_ICON order
  4. Install
    Shallow CopyMemory() aliases iconInfo to parser-owned pointer
  5. C2
    Parser callback frees iconInfo on return
  6. Execute
    Async thread dispatches stale freed pointer
  7. Impact
    Heap use-after-free crashes client

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

AsyncUpdate must be explicitly enabled on the FreeRDP client via the /async-update command-line flag or equivalent API configuration - this is not the default behavior. The victim must connect to an attacker-controlled or compromised RDP server. The server must transmit a specially crafted RAIL Window Alternate Secondary Order with WINDOW_ORDER_ICON set. Limiting factors: the vulnerability is entirely client-side and cannot be triggered without the victim initiating a connection to the malicious server; all default FreeRDP deployments lacking /async-update are unaffected regardless of server behavior; no authentication or privileges are required of the attacker beyond operating an accessible RDP server endpoint.

Impact

The vendor-assigned CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H) reflects a network-reachable, unauthenticated availability impact, but the AT:N metric appears inconsistent with the exploitation condition: AsyncUpdate must be explicitly enabled via /async-update, which is not the default FreeRDP configuration. This gating condition materially reduces the exploitable population below what AT:N implies. No EPSS data was supplied; no CISA KEV listing exists; no public proof-of-concept has been identified, making this a theoretical-but-credible threat rather than an actively exploited one. The impact is limited to client crash and heap memory corruption with no confidentiality or integrity consequence, which constrains attacker value to denial-of-service. In environments running headless or automated RDP sessions with AsyncUpdate enabled (e.g., Guacamole backends, thin-client farms), repeated crashes could cause meaningful service disruption. Overall real-world priority is moderate: high urgency only in AsyncUpdate-enabled deployments; low urgency elsewhere.

Exploit ScenarioDerived

An attacker operates or compromises an RDP server endpoint and social-engineers a user running xfreerdp with the /async-update flag to connect to it. Once the session is established, the server sends a crafted RAIL Window Alternate Secondary Order carrying a WINDOW_ORDER_ICON payload, triggering the shallow copy bug in the async update proxy. The freed iconInfo pointer is subsequently dispatched by the async update thread, corrupting heap memory and crashing the FreeRDP client process; no public proof-of-concept has been identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% 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 use-after-free in FreeRDP's async update message proxy allows a malicious or compromised RDP server to crash the client and corrupt heap memory through a crafted RAIL WINDOW_ORDER_ICON message. The flaw is gated on the AsyncUpdate feature being explicitly enabled via the /async-update flag - a non-default client configuration - which limits real-world exposure relative to the CVSS 4.0 score of 8.7. All FreeRDP versions prior to 3.29.0 (CPE: cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*) are affected; no public exploit or CISA KEV listing has been identified at time of analysis.

RemediationAI

Upgrade FreeRDP to version 3.29.0 or later per the security advisory at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-34hq-hwjw-q8v3. The upstream fix is available in commit 5370fb26fbf034ecd11d3026b6ad639b5fff493f (https://github.com/FreeRDP/FreeRDP/commit/5370fb26fbf034ecd11d3026b6ad639b5fff493f), though the commit diff reflects a version string of 3.28.0 rather than 3.29.0 - verify the authoritative fix version against the FreeRDP GitHub releases before deploying. As an immediate compensating control requiring no upgrade, remove the /async-update flag from all xfreerdp invocations and equivalent programmatic configurations; this eliminates the vulnerable code path entirely since AsyncUpdate is a performance optimization and not required for core RDP functionality, with no side effects on session correctness.

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 implements the Microsoft Remote Desktop Protocol client stack, including RAIL (Remote Applications Integrated Locally) extensions for windowed remote applications. CWE-416 (Use After Free) manifests in the async update message proxy path active when AsyncUpdate mode is enabled. In update_message_WindowIcon(), a shallow CopyMemory() call copies the parser-owned windowIcon->iconInfo pointer directly into lParam->iconInfo of a newly queued async message rather than performing a deep allocation and copy. When the parser callback update_recv_window_info_order() returns, it frees window_icon.iconInfo. The async dispatch queue, however, retains the now-freed pointer. When the queued WINDOW_ICON_ORDER message is later dispatched on the update thread, it dereferences the stale iconInfo pointer, producing a heap use-after-free. The affected CPE (cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*) covers all FreeRDP builds and platforms that include this async proxy code path.

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 5.3 MEDIUM

AsyncUpdate non-default config raises AC:H; user must actively connect to attacker server (UI:R); impact is crash only with no C or I consequence.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE 6.5 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H
Red Hat 6.5 MEDIUM

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 before 3.29.0 contains a client-side heap use-after-free in the async update message proxy for WINDOW_ICON_ORDER when AsyncUpdate is enabled (e.g. xfreerdp /async-update). In update_message_WindowIcon() a shallow CopyMemory() overwrites a freshly allocated lParam->iconInfo with the parser-owned windowIcon->iconInfo pointer. After the parser callback returns, update_recv_window_info_order() frees window_icon.iconInfo, but the queued async message still retains and later dispatches that stale pointer. A malicious or compromised RDP server sending a crafted RAIL Window Alternate Secondary Order with WINDOW_ORDER_ICON can trigger use-after-free, leading to memory corruption and client crash.

Executive ViewAI

Why It Matters

FreeRDP client versions prior to 3.29.0 contain a vulnerability allowing malicious RDP servers to crash client systems and corrupt memory. Organizations with FreeRDP deployments-especially those using the async-update feature-could face denial of service and data integrity risks from compromised or hostile remote servers. Immediate patching to version 3.29.0 eliminates exposure to this high-severity flaw.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Medium
open-source RDP client common in enterprise Linux and cloud desktop environments
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.3%
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.

Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

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: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP7 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected

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