Skip to main content

FreeRDP CVE-2026-109941

| EUVDEUVD-2026-98706 HIGH
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2026-10-13 VulnCheck GHSA-26h4-ghv8-j876
7.1
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 RD Gateway
  2. Delivery
    Client opens TLS/HTTP gateway session
  3. Exploit
    Send partial chunk-size line then TLS shutdown
  4. Execution
    http_chuncked_read loops on zero-byte reads
  5. Impact
    Decoder thread hangs, client frozen

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK

1 technique across 1 tactic: Impact

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

Exploitation Conditions

Exploitation requires the FreeRDP client to connect through an RD Gateway (HTTP transport) that is attacker-controlled, compromised, or subject to a man-in-the-middle; the malicious server sends an incomplete chunked response - a partial chunk-size line or footer - followed by a clean TLS shutdown, triggering the zero-byte-read infinite loop in http_chuncked_read. Limiting factors: the victim must actively initiate the gateway connection (UI:P/UI:R), the attacker must sit at the gateway endpoint rather than attack an arbitrary internet host, and only clients using the RD Gateway HTTP path on FreeRDP 2.3.0 through 3.31.x are affected. Impact is confined to hanging the client decoder thread (availability only); there is no code execution, data exposure, or server-side effect.

Impact

This is a client-side denial-of-service in FreeRDP (CWE-835, infinite loop). The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) scores 7.1 and is internally consistent with the description: no confidentiality or integrity impact (VC:N/VI:N), only availability (VA:H), and passive user interaction (UI:P) because the victim client must initiate a connection to the malicious RD Gateway. No EPSS score, KEV listing, or POC was provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation - the signals here do not justify emergency prioritization. The key nuance is that PR:N is accurate from the attacker's perspective (the gateway needs no credentials to send a malformed response), but exploitation is NOT unauthenticated remote code execution against a listening service: it requires the attacker to operate or compromise the RD Gateway the client connects to, or to MITM that TLS session. Impact is limited to freezing the client decoder thread - a hang/freeze, not a crash with persistence or lateral movement. Net: a genuine but moderate availability issue, appropriately rated in the high band rather than critical, and best treated as patch-on-cycle unless the environment routes RDP through untrusted gateways.

Exploit ScenarioDerived

A user launches an RDP session through an RD Gateway that an attacker controls, has compromised, or can MITM. The malicious gateway sends a partial chunk-size line or footer and then cleanly closes the TLS connection, driving http_chuncked_read into a zero-byte-read loop that hangs the FreeRDP client's decoder thread indefinitely. No public exploit code was identified at time of analysis, but the attack is simple to reproduce for anyone operating the gateway endpoint.

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

FreeRDP clients 2.3.0 through 3.31.x can be hung by a malicious or compromised RD Gateway that returns an incomplete HTTP chunked response and then cleanly closes the TLS connection. The bug is an infinite loop (CWE-835) in http_chuncked_read: zero-byte reads after a truncated chunk-size line or footer keep the decoder thread spinning, causing a client-side denial of service. This is a remote, unauthenticated availability-only issue per the provided CVSS vector (PR:N) but requires the victim to initiate the gateway connection (UI:P/UI:R); no public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: FreeRDP 3.32.0. Upgrade to FreeRDP 3.32.0 or later, the first version outside the affected range, as indicated by the 'before 3.32.0' advisory boundary; see GHSA-7vfc-chg9-q5r8. If immediate upgrade is not possible, avoid connecting to untrusted or unverified RD Gateways, because the attacker must control or MITM the gateway endpoint; where feasible, use direct RDP over a trusted VPN instead of gateway HTTP transport, but this bypasses gateway security controls and may expose RDP directly, so restrict network access and require strong authentication. Additional compensating controls include pinning or strictly validating the gateway TLS certificate to make MITM harder, monitoring client processes for hung decoder threads, and using endpoint watchdog or restart policies to recover frozen FreeRDP sessions, though these do not fix the underlying infinite loop. No public exploit identified at time of analysis.

Affected VersionsENISA

FreeRDP 2.3.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; when clients use RD Gateway, RDP is tunneled over HTTP(S) and the client must parse HTTP chunked transfer encoding. In affected versions, http_chuncked_read handles a partial chunk-size line or chunk footer incorrectly: if the malicious gateway sends an incomplete chunk and performs a clean TLS shutdown, the function repeatedly reads zero bytes and never detects end-of-stream or malformed input, producing an infinite loop. CWE-835 describes this loop with an unreachable exit condition. The CPE cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:* confirms the FreeRDP product line, and the advisory range from 2.3.0 before 3.32.0 maps to the affected client code. The impact is confined to the local client decoder thread (availability only); no server-side FreeRDP component, code execution, or data confidentiality/integrity impact is assessed.

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

Attacker needs no credentials (PR:N) but the victim must connect to the malicious gateway (UI:R); only the client's availability is affected (A:H, C:N/I:N), no scope change.

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 from 2.3.0 before 3.32.0 contains an infinite loop vulnerability in http_chuncked_read that allows malicious RD Gateways to hang clients by sending incomplete chunked responses. Attackers can send a partial chunk-size line or footer followed by a clean TLS shutdown, causing zero-byte reads to loop forever and freeze the client decoder thread.

Technical POC Analysis

CWE-835 (Loop with Unreachable Exit Condition).

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

A denial-of-service flaw in the FreeRDP remote desktop client (versions 2.3.0 through 3.31.x) allows a malicious or compromised RD Gateway to permanently hang the client application, forcing users to terminate and restart their sessions. Any workforce segment relying on FreeRDP to reach remote desktops through third-party or partner-operated gateways is exposed, and repeated hangs can degrade helpdesk capacity and interrupt time-sensitive remote work. Because exploitation requires a user to first connect to an attacker-influenced gateway and no vendor patch is currently available, this is a manageable but persistent operational risk rather than an enterprise-wide outage threat.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict FreeRDP client connections to an allowlist of trusted, corporate-managed RD Gateway hosts and block outbound gateway traffic to unapproved destinations; deploy process supervision or scheduled restarts to recover hung FreeRDP sessions automatically; monitor endpoints for client processes stuck in unresponsive states to detect gateway-induced hangs; and consider migrating high-risk user groups to an alternative supported RDP client until a fix is released.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Medium
widely used open-source RDP client library, but gateway/HTTP transport is a subset
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
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

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