Skip to main content

FreeRDP EUVDEUVD-2026-115941

| CVE-2026-121409 HIGH
Reachable Assertion (CWE-617)
2026-11-03 VulnCheck GHSA-3xg3-qv82-5f5j
8.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Lure client to malicious RDP server (or reach FixedTarget proxy)
  2. Exploit
    Send oversized LoadBalanceInfo / 240-247 byte routing token
  3. Execution
    X.224 length indicator exceeds UINT8_MAX in tpdu_write_header
  4. Impact
    Assertion fails and process aborts (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V16 - Security Logging and Error Handling Reachable assertion handling
Exploitation Conditions

Two concrete routes, both requiring a routing token whose X.224 length indicator exceeds 255 (empirically 240 bytes with the default 8-byte RDP_NEG_REQ; 239 does not trigger). Route 1 (direct client): the client must connect to a malicious or compromised RDP server that returns a Server Redirection PDU with an oversized LoadBalanceInfo (LB_LOAD_BALANCE_INFO); the client copies it into settings and reuses it as a routing token on reconnect. Route 2 (proxy): freerdp-proxy must be configured with FixedTarget=true (FALSE BY DEFAULT), the front peer must negotiate RDP security WITHOUT an RDP_NEG_REQ, and the outbound leg adds an eight-byte negotiation request, so an unauthenticated front peer sending a recognized 240-247 byte token aborts the proxy. Limiting factors: the proxy route depends on a non-default configuration; default token-derived target selection rejects these long tokens first; the client route requires attacker control of the RDP server and a redirection reconnect; impact is limited to a crash in assertion-enabled builds only.

Impact

This is a denial-of-service-only flaw (CWE-617 reachable assertion / CWE-20), and the signals should be read in that light. The vendor CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N) with base score 8.2 looks high, but the entire score is driven by VA:H availability impact with VC:N/VI:N - there is no confidentiality, integrity, or code-execution consequence, so the 8.2 overstates real-world priority for most defenders. AC:H and AT:P correctly reflect that exploitation is not trivial: it needs a specific oversized token (240-247 bytes) and either a malicious/compromised RDP server driving a redirection reconnect, or a proxy explicitly running the non-default FixedTarget=true mode. EPSS is not provided in the input, so exploitation probability cannot be quantified here. The CVE is NOT in CISA KEV and there is no evidence of active exploitation. A public proof-of-concept exists, but it is a component-level parser-to-negotiation harness (plus a separately archived live proxy observation), not a packaged remote exploit; a full malicious-server network run was not preserved. The vuln.today decision label is 'this_week', consistent with a credible, patchable availability bug that warrants scheduled remediation rather than emergency response. Net: a real, confirmed DoS worth patching on a normal cadence, but not a critical breach-class issue despite the 8.2 number.

Exploit ScenarioDerived

A victim FreeRDP client connects to an attacker-controlled or compromised RDP server, which returns a Server Redirection PDU carrying an oversized (240+ byte) LoadBalanceInfo; the client stores it and reuses it as an X.224 routing token on reconnect, hitting the tpdu_write_header assertion and aborting. Alternatively, an unauthenticated peer sends a recognized 240-247 byte token to a freerdp-proxy configured with FixedTarget=true, crashing the proxy (exit 134) before any outbound bytes are sent. A component-level public PoC harness reproduces the assertion at 240 bytes (239 does not abort); the high attack complexity reflects the precise token-length threshold and configuration prerequisites.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

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

Alert me

AnalysisAIv1 – Nov 03, 2026

FreeRDP clients and freerdp-proxy instances running releases before 3.32.2 can be aborted by an oversized X.224 routing token, which drives the one-byte X.224 length indicator past UINT8_MAX and trips a reachable assertion in tpdu_write_header; with the default eight-byte RDP_NEG_REQ the threshold is a 240-byte token (a 239-byte control does not abort). Impact is availability only and limited to assertion-enabled builds, and the two routes differ in prerequisites: the direct-client path needs the client to connect to a malicious or compromised RDP server that returns a Server Redirection PDU carrying an oversized LoadBalanceInfo which is then reused as a routing token on reconnect, while the proxy path needs freerdp-proxy configured with FixedTarget=true (false by default) and a front peer that negotiates RDP security without RDP_NEG_REQ. This CVE is not in CISA KEV, and the advisory ships a public reproduction harness that is a PoC reference, not verified working exploit code.

RemediationAI

Upgrade to FreeRDP 3.32.2, the version in which the package metadata marks the flaw fixed; the upstream fix validates the computed X.224 length indicator against UINT8_MAX and fails cleanly before writing the header, and applies a corresponding token budget both when accepting server redirection data and when a proxy forwards a front-peer token to its outbound connection. The vendor advisory with details and the reproduction harness is at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-3hf9-w6hr-hf9j, and the VulnCheck advisory is at https://www.vulncheck.com/advisories/freerdp-before-3.32.2-denial-of-service-via-oversized-x-224-routing-token. Where an immediate upgrade is not possible, operators of freerdp-proxy can keep FixedTarget=false (its default) so that token-derived target selection rejects these long tokens before the outbound negotiation, accepting that this forces target selection by token rather than a fixed backend; no equivalent configuration workaround is documented for the direct-client redirection route, which depends on the client trusting the redirecting server, so restricting client connections to trusted RDP servers is the only practical interim limit for that path.

Affected VersionsENISA

FreeRDP 0 <3.32.2

Affected Packages

euvd freerdp fix: 3.32.2

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 assembles an X.224 Connection Request from an optional routing token plus optional negotiation data, and the complete X.224 length indicator field in the TPDU header is a single byte. nego_send_negotiation_request() validates only a 16-bit total stream length before handing the buffer to tpdu_write_header(), which asserts that the value fits in UINT8_MAX and then narrows it to one byte - a reachable assertion (CWE-617) rooted in missing input validation (CWE-20) of peer-controlled data. Two delivery routes reach it: (1) a malicious RDP server returns a Server Redirection PDU with an oversized LoadBalanceInfo (LB_LOAD_BALANCE_INFO); rdp_recv_server_redirection_pdu() and rdp_redirection_apply_settings() copy it into settings, nego_set_routing_token() stores it, and it is re-emitted as a routing token on reconnect - a parser-to-negotiation harness reproduced the assert at 240 bytes with an eight-byte negotiation request, while 239 bytes did not abort; (2) an unauthenticated front peer sends a recognized 240-247 byte token to freerdp-proxy with FixedTarget=true (or an equivalent module), the front negotiates RDP security without RDP_NEG_REQ and the outbound leg adds an eight-byte negotiation request, producing exit 134 before any outbound bytes were sent. Default token-derived target selection rejects these long tokens first. In assertion-disabled optimized builds, source inspection predicts a malformed one-byte length indicator and a failed outbound connection, but that mode was not executed, and current source stream-capacity checks do not exhibit the earlier heap overflow tracked as GHSA-r9pv-ffph-6gg6 (patched in 3.31.0).

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

Network-reachable DoS with no auth (PR:N), but a precise 240+ byte token threshold plus malicious-server or non-default proxy config makes it AC:H; crash-only, so C:N/I:N/A:H.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/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
High
Attack Requirements
Present
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

Lifecycle Timeline

2
Patch available
Nov 03, 2026 - 16:17 EUVD
CVE Published
Nov 03, 2026 - 14:28 cve.org
HIGH 8.2

DescriptionCVE.org

FreeRDP before 3.32.2 contains a denial of service vulnerability that allows malicious servers or unauthenticated peers to abort clients or proxies via oversized X.224 routing tokens. Attackers can send an oversized LoadBalanceInfo in a Server Redirection PDU, or a 240-247 byte token to a FixedTarget freerdp-proxy, triggering a tpdu_write_header assertion that crashes the process.

Technical POC Analysis

Reachable assertion (CWE-617; the advisory also tags CWE-20, improper input validation) in FreeRDP's X.224 TPDU construction.

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

CVE-2026-121409 is a high-severity denial-of-service vulnerability affecting FreeRDP clients and freerdp-proxy instances, which are widely used for remote desktop access. Successful exploitation can crash these components, disrupting remote work and IT operations for affected users. Leadership should prioritize remediation to maintain availability of critical remote access services.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include disabling FixedTarget in freerdp-proxy, avoiding connections to untrusted RDP servers, and monitoring for abnormal service terminations.

Threat Intelligence Overview

Prevalence
Medium
widely used open-source RDP client library, common but not universally deployed
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org Vulnrichment GitHub

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 N/A
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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
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