Skip to main content

FreeRDP EUVDEUVD-2026-98708

| CVE-2026-109943 HIGH
Double Free (CWE-415)
2026-10-13 VulnCheck GHSA-5rf6-rg39-rmc3
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Victim client connects to malicious RDP server
  2. Exploit
    Server sends point-bearing polygon order
  3. Execution
    Server sends zero-point polygon order
  4. Impact
    Double free crashes async-update client

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Double free prevention
Exploitation Conditions

Exploitation requires that the FreeRDP client be started with the non-default +async-update option - the double free lives in the async-update message proxy and does not occur in default client configurations. The victim must also initiate an RDP connection to an attacker-controlled or compromised server, which then sends a PolygonSC or PolygonCB order containing points followed by a second polygon order with numPoints=0 to trigger the shallow-copy double free. Limiting factors: the +async-update flag is off by default; the attacker must control the server side (no attack against a server, only against a connecting client); user interaction is needed to establish the connection; and impact is confined to crashing the client (availability), with no code execution, data disclosure, or integrity loss.

Impact

This is a denial-of-service-only flaw (CWE-415 double free) whose real-world priority is modest. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) scores 7.1 and reflects availability-only impact with no confidentiality or integrity loss - consistent with the description of a client crash. Critically, the network vector is a REVERSE one: the victim FreeRDP client must connect to an attacker-controlled or compromised RDP server (UI:P), and the vulnerable code path only exists when the client is explicitly launched with the non-default +async-update option. That configuration dependency is a significant limiter the CVSS base vector does not fully capture (it encodes AC:L/AT:N, i.e. no special attack requirement, which arguably understates the +async-update prerequisite). No EPSS score was provided, the CVE is not listed in CISA KEV, and no public exploit code was identified in the supplied intelligence, so there is no evidence of active or widespread exploitation. Net assessment: a legitimate bug worth patching on the normal cycle, but not an emergency - the combination of DoS-only impact, required malicious-server positioning, and dependency on a non-default flag keeps real-world risk low relative to the 7.1 headline score.

Exploit ScenarioDerived

An attacker who operates or has compromised an RDP server (or lures a user to connect via a malicious .rdp file) waits for a FreeRDP client running with +async-update to connect. The server then sends a PolygonSC or PolygonCB drawing order carrying points, immediately followed by a zero-point polygon order, causing both the async-update queue consumer and the parser cleanup to free the same points array and crash the client. No public exploit code was 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 – Oct 13, 2026

Denial of service in FreeRDP clients: versions 3.29.0 through 3.31.x contain a double free (CWE-415) in the async-update message proxy that a malicious or compromised RDP server can trigger by sending a point-bearing PolygonSC or PolygonCB order followed by a second polygon order with numPoints set to zero, crashing the connecting client. Exploitation requires the victim to connect to an attacker-controlled server and to have launched the client with the non-default +async-update option, so default client configurations are not exposed; user interaction is needed to initiate the connection, and impact is limited to availability with no code execution, data disclosure, or integrity loss. There is no confirmation of active exploitation (no CISA KEV listing) and no public exploit identified at time of analysis; the observed CVSS 4.0 score of 7.1 is driven by the availability impact.

RemediationAI

Upgrade to FreeRDP 3.32.0 or later, which is the vendor-released fix for this double free; the advisory at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-pg3f-chj4-mrw6 tracks the corrected release and affected range. If an immediate upgrade is not possible, the most direct compensating control is to stop launching clients with the +async-update option - the flag is off by default, and this code path is where the double free lives, so removing it eliminates exposure entirely; the trade-off is the loss of the asynchronous update performance and rendering behavior that motivated enabling the flag. Additionally, since the attack requires the client to connect to a hostile or compromised RDP server, restrict outbound RDP connections to trusted, known-good endpoints and avoid connecting clients to untrusted servers; this limits reachability but does not fix the underlying memory-management defect and is not a substitute for patching. Because impact is confined to a client crash, monitoring for repeated client aborts or abnormal terminations on hosts using +async-update can serve as a detection signal for exploitation attempts.

Affected VersionsENISA

FreeRDP 3.29.0 <3.32.0

Affected Packages

euvd freerdp fix: 3.32.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 is an open-source implementation of the Remote Desktop Protocol (RDP) used by clients such as wlfreerdp, xfreerdp, and library consumers. Under CWE-415 (double free), the flaw is a memory-lifetime management defect in the client's asynchronous update message proxy. When a polygon order arrives with a non-zero point count, the proxy shallow-copies the parser-owned PolygonSC or PolygonCB points array rather than taking ownership of a deep copy; if numPoints is zero, that shallow reference is retained and subsequently freed by both the queue consumer and the parser's own cleanup path. The result is a double free that corrupts the heap and aborts the client. The affected code path only exists when the client is started with the +async-update option, which is off by default; the CPE cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:* indicates the FreeRDP product as a whole is in scope, with the vulnerable range spanning 3.29.0 up to (but not including) the 3.32.0 release. No server-side code is affected, since the defect is in client-side message proxying.

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 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Malicious server attacks a connecting client so AV:N with UI:R; triggering the double free needs no authentication (PR:N) and only crashes the client, giving A:H with C:N/I:N.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

2
Patch available
Oct 13, 2026 - 15:17 EUVD
CVE Published
Oct 13, 2026 - 13:27 cve.org
HIGH 7.1

DescriptionCVE.org

FreeRDP 3.29.0 before 3.32.0 contains a double free in the client's async-update message proxy, which shallow-copies the parser-owned PolygonSC or PolygonCB points array when numPoints is zero, so both the queue consumer and parser cleanup free it. A malicious RDP server can send a point-bearing polygon order followed by a zero-point order to crash a client with +async-update enabled.

Technical POC Analysis

CWE-415 double free, with CWE-416 use-after-free as a downstream consequence, in the FreeRDP client async-update message proxy: updatemessagePolygonSC and updatemessagePolygonCB in libfreerdp/core/me…

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

FreeRDP client versions 3.29.0 through 3.31.x contain a high-severity availability flaw that can crash the connecting client when a user connects to a malicious or compromised RDP server with the non-default +async-update option enabled. Default configurations are not exposed, there is no confirmed active exploitation and no public exploit identified at time of analysis, so organizational risk is concentrated in specialized deployments that require this option. Leadership should direct inventory and temporary configuration restrictions while awaiting a vendor patch.

Business Impact: Low
Compensating Controls

Disable or remove the non-default +async-update option; restrict FreeRDP client connections to trusted or allowlisted RDP servers/gateways; monitor and alert on client crashes; track vendor advisory for a patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
High
primary open-source RDP client, embedded in many remote-desktop tools
Data Quality
5 sources
Confidence: Medium

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· derived
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Low

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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

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