Skip to main content

FreeRDP CVE-2026-109951

| EUVDEUVD-2026-98655 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-13 VulnCheck GHSA-h552-rp6x-j2cx
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Lure/control backend RDP server proxy connects to
  2. Exploit
    Send CREATE_REQUEST_PDU with non-NUL-terminated channel name
  3. Execution
    Trigger unbounded snprintf heap over-read
  4. Impact
    Leak heap bytes into proxy logs or crash process

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

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

Exploitation Conditions

Requires a deployment running the freerdp-proxy component at version 3.17.1 up to (not including) 3.32.0, with the proxy connecting to a backend RDP server that is attacker-controlled or can be influenced/redirected (e.g. a malicious or MITM'd backend) - the attacker is the server side, not an inbound client. The malformed trigger is a DRDYNVC CREATE_REQUEST_PDU carrying a channel name with no terminating NUL byte, processed by DynvcTrackerHandleCreateBack. No authentication or user interaction is needed once that backend path exists. The principal limiting factor is trust direction: environments where the proxy only ever reaches fully trusted backends are not practically exposed, and realized impact is bounded to heap memory disclosure into logs or a process crash (denial of service) rather than code execution.

Impact

This is a genuine but moderate-priority issue, not a critical emergency. The CVSS 4.0 base score of 6.9 (MEDIUM) reflects a network-reachable (AV:N), low-complexity (AC:L), unauthenticated (PR:N), no-user-interaction (UI:N) flaw whose only scored impact is low availability (VA:L) - i.e. the vendor vector models a crash, not data theft. However, the description explicitly states the over-read 'leaks memory into proxy logs,' which is a confidentiality exposure that the input vector's VC:N does NOT capture; this is a conflict between the stated impact and the scored impact that defenders should note. The key limiting factor is directional: the attacker must be (or control) the BACKEND RDP server the proxy connects to, not an arbitrary internet client - so this is exploitable only where freerdp-proxy routes to untrusted/attacker-influenced servers. No EPSS score was provided, there is no CISA KEV listing, and no public exploit was supplied, so there is no evidence of active or widespread exploitation. Overall: a real defect worth patching on exposed proxy deployments, but absent exploitation signals it ranks below internet-facing critical RCEs.

Exploit ScenarioDerived

An attacker who operates or can redirect traffic to a backend RDP server that a FreeRDP proxy (3.17.1-3.31.x) connects to sends a crafted DRDYNVC CREATE_REQUEST_PDU whose channel name omits the terminating NUL byte. When DynvcTrackerHandleCreateBack formats this name, an unbounded snprintf reads past the heap buffer, disclosing adjacent heap memory into the proxy's logs or crashing the proxy process. No public proof-of-concept was provided in the source data.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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's freerdp-proxy component (versions 3.17.1 up to but not including 3.32.0) can be induced to read heap memory out of bounds by a malicious or man-in-the-middle-controlled backend RDP server, which sends a DRDYNVC CREATE_REQUEST_PDU whose channel name is not NUL-terminated. The unbounded snprintf in DynvcTrackerHandleCreateBack then walks past the allocated buffer, leaking adjacent heap contents into proxy log output or crashing the process; only the proxy's own backend connection path is exposed, so environments that connect solely to fully trusted RDP servers are not practically at risk. No public exploit has been identified at time of analysis, EPSS is not elevated, and the issue is not listed in CISA KEV; impact is bounded to memory disclosure and denial of service rather than code execution.

RemediationAI

Upgrade FreeRDP to 3.32.0 or later, which is the version boundary at which the fixed code ships (vendor advisory: https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-g4wg-67xq-8q53). Because the trigger originates from the backend RDP server rather than the client, the most effective compensating control prior to patching is to constrain the proxy's reachable backends to explicitly trusted hosts via egress firewall rules or network segmentation, accepting that this breaks legitimate proxying to dynamic or untrusted backends. Where logging of channel names is not required, suppressing or restricting proxy log verbosity reduces the chance that leaked heap contents are captured in log files, though it does not prevent the underlying out-of-bounds read or the potential crash. Running the proxy under a service account with minimal privileges and with a restart-on-failure supervisor limits the blast radius of a denial-of-service crash. Treat backends reached over untrusted transit as potentially hostile and terminate RDP inside a protected tunnel where a man-in-the-middle cannot inject forged DRDYNVC PDUs.

Affected VersionsENISA

FreeRDP 3.17.1 <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

The vulnerability is an out-of-bounds heap read (CWE-125) in FreeRDP's Dynamic Virtual Channel (DRDYNVC) handling. FreeRDP's proxy mode acts as an intermediary between a client and a backend RDP server, and the DRDYNVC channel is used to negotiate and track dynamic virtual channels. In DynvcTrackerHandleCreateBack, the code processes a CREATE_REQUEST_PDU received from the backend server and copies the channel name into a tracking structure using snprintf without validating that the incoming name is NUL-terminated. Because snprintf reads until it finds a terminator or exhausts the supplied size, a channel name with no NUL byte causes the read to continue beyond the source buffer, disclosing heap memory (which may be written into proxy logs) or triggering an access violation and process termination. The affected component is the freerdp-proxy binary in the 3.17.1-3.31.x range, tracked generically under the FreeRDP CPE cpe:2.3:a:freerdp:freerdp. The trust direction is inverted from a typical remote-client bug: the attacker is the backend server rather than an inbound client, which is why the assessed CVSS 3.1 vector shows confidentiality and availability impact (C:L/A:L) with no integrity impact.

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

Malicious backend server triggers it over the network with no auth or interaction (AV:N/AC:L/PR:N/UI:N); heap leak into logs gives C:L and the crash gives A:L, with no integrity impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:L/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
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 13, 2026 - 15:17 EUVD

DescriptionCVE.org

FreeRDP 3.17.1 before 3.32.0 contains a heap buffer over-read vulnerability in DynvcTrackerHandleCreateBack of the freerdp-proxy DRDYNVC channel handler that allows malicious backend RDP servers to read heap memory out of bounds. Attackers can send a CREATE_REQUEST_PDU whose channel name lacks a NUL byte, causing an unbounded snprintf read that leaks memory into proxy logs or crashes the process.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Medium
FreeRDP is widely embedded, but the vulnerable proxy component is far less commonly deployed
Social Media
1
Sightings
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Yes
Human Impact· derived
Medium

Priority Score

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

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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