Skip to main content

FreeRDP Shadow Server CVE-2026-110838

| EUVDEUVD-2026-101721 HIGH
Missing Authentication for Critical Function (CWE-306)
2026-10-14 disclosure@vulncheck.com GHSA-5xxg-89r9-vf9v
8.7
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Reach exposed FreeRDP shadow server
  2. Delivery
    Negotiate TLS-only RDP session
  3. Exploit
    Send input PDU before Confirm Active
  4. Execution
    Inject synthetic keystrokes via XTEST
  5. Impact
    Drive commands in host X11 session

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

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

Exploitation Conditions

Requires the target to be running the FreeRDP shadow server component (shadow/mirroring mode) from 3.0.0 up to but not including 3.32.0, with that server network-reachable by the attacker. The host must be driving an X11 session, since injection is delivered through XTEST - Wayland or non-X11 hosts are not directly affected by this path. Exploitation proceeds over a TLS-only RDP negotiation, and the attacker sends an input PDU during the Confirm Active state before authentication. No authentication, credentials, or user interaction are required (PR:N/UI:N). Limiting factors for defenders: the vulnerability is confined to the shadow-server feature rather than generic FreeRDP client/server use, an X11 session must be active for keystrokes to land, and hosts patched to 3.32.0 or later are not affected.

Impact

This is a genuine priority within its deployment niche rather than an inflated high-CVSS issue. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, VI:H, score 8.7) is internally consistent with the description: a network-reachable, low-complexity, fully unauthenticated flaw (CWE-306, Missing Authentication for Critical Function) whose primary consequence is integrity (keystroke injection) with no direct confidentiality or availability impact - the VC:N/VA:N choices match a keyboard-injection bug. The PR:N/UI:N combination is the key risk driver: no credentials and no victim interaction are required, so any exposed shadow server is reachable. However, several corroborating signals are MISSING: no EPSS score was provided, the CVE is NOT listed in CISA KEV, and no POC/exploit-code indicator is present, so there is no public evidence of active or at-scale exploitation. The 'Authentication Bypass' tag aligns with CWE-306 and the description. The realistic ceiling of impact is higher than the VI:H label alone suggests, because injecting keystrokes into a logged-in X11 session can be leveraged to launch a terminal and run arbitrary commands as the host user - but that escalation is situational and not reflected in the base vector. Net: elevated and credible risk for anyone running the FreeRDP shadow server exposed to untrusted networks, but exploitation probability data is absent and cannot be confirmed from the provided input.

Exploit ScenarioDerived

An attacker who can reach an exposed FreeRDP shadow server (3.0.0 up to but not including 3.32.0) negotiates a TLS-only RDP connection and, without authenticating or completing the Confirm Active handshake, sends an input PDU that the server dispatches prematurely. The injected synthetic keystrokes are delivered into the host user's live X11 session via XTEST, letting the attacker type commands as that user. No public exploit identified at time of analysis, and because the CVSS vector is AV:N/AC:L/PR:N/UI:N, no credentials, local access, or user interaction are needed.

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 14, 2026

Unauthenticated keyboard injection in the FreeRDP shadow server (versions 3.0.0 through 3.31.x) allows remote attackers to send synthetic keystrokes into a host user's X11 session via XTEST by delivering an input PDU during the Confirm Active state, before any authentication takes place. Exploitation requires the shadow/mirroring server to be network-reachable and the host to be running an X11 session over a TLS-only RDP negotiation; the confirmed impact is integrity-only (fabricated input) with no confidentiality or availability effect. No public exploit code has been identified at time of analysis, and the issue is not listed in CISA KEV.

RemediationAI

Vendor-released patch: 3.32.0 - upgrade FreeRDP to 3.32.0 or later as described in advisory GHSA-m998-cvfm-9444 (https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-m998-cvfm-9444). If immediate upgrade is not possible, avoid exposing the shadow/mirroring server to untrusted networks: bind it to localhost or a management VLAN and firewall the RDP port (commonly 3389/tcp) to trusted source addresses, accepting the trade-off that legitimate remote-support connections from outside that set will be blocked. Disabling the shadow server feature entirely is the most reliable compensating control but removes remote mirroring capability. Moving the host to a Wayland session avoids this specific XTEST-based injection path, though that is a larger environmental change and does not address other RDP-side weaknesses.

Affected VersionsENISA

FreeRDP 3.0.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, and its shadow server component mirrors a local console session to connecting RDP clients. Normal RDP setup proceeds through security/TLS negotiation, then a server Demand Active PDU followed by a client Confirm Active PDU, before the session is considered authenticated and operational. In the affected versions, input PDUs are dispatched while the connection is still in the Confirm Active state instead of being rejected, so an attacker who negotiates TLS-only RDP can send input without completing the confirm step or authenticating. The root cause is CWE-306 (Missing Authentication for Critical Function): the input-handling path lacks an authentication and connection-state check. On the host, injected keystrokes are synthesized through the X11 XTEST extension, so the injection lands only in an active X11 session; Wayland or other non-X11 display servers are not affected by this specific vector. The assessed impact is integrity-only (VI:H, VC:N, VA:N), consistent with the independent assessment.

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:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Unauthenticated network keystroke injection with no complexity barrier (AV:N/AC:L/PR:N/UI:N); integrity-only impact (I:H), with no confidentiality or availability effect and no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Red Hat 7.5 HIGH

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
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 15, 2026 - 02:16 EUVD
CVE Published
Oct 14, 2026 - 23:17 cve.org
HIGH 8.7

DescriptionCVE.org

FreeRDP shadow server from 3.0.0 before 3.32.0 dispatches input PDUs during the Confirm Active state before authentication, allowing unauthenticated attackers to inject keyboard input. Attackers can negotiate TLS-only RDP and send an input PDU without Confirm Active to inject synthetic keystrokes into the host user's X11 session via XTEST.

Technical POC Analysis

Primary CWE-306 (Missing Authentication for Critical Function); the advisory also tags CWE-863.

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 shadow server versions 3.0.0 through 3.31.x contain a high-severity keyboard injection vulnerability that allows a remote attacker to send synthetic keystrokes into a host user's X11 session, potentially enabling unauthorized actions or data manipulation within affected systems. No vendor-released patch identified at time of analysis, and no public exploit identified at time of analysis. Organizations relying on FreeRDP for remote support or screen mirroring should urgently assess exposure and implement compensating controls to protect session integrity.

Business Impact: High
Compensating Controls

Restrict network access to the FreeRDP shadow server to trusted networks, disable the shadowing service if not required, segment X11 sessions from untrusted networks, and monitor for unexpected keystroke injection or anomalous input events.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Medium
FreeRDP is widely used, but shadow-server mode is a niche deployment feature
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor 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 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
Scheduled
Exploitation
None
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

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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

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