Skip to main content

FreeRDP CVE-2026-72746

| EUVDEUVD-2026-56136 HIGH
Improper Authentication (CWE-287)
2026-08-11 VulnCheck GHSA-336f-j5cq-6c4f
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Recon
    Identify RDSTLS-enabled FreeRDP server
  2. Delivery
    Connect to TCP 3389
  3. Exploit
    Initiate RDSTLS handshake
  4. Install
    Send Capabilities PDU instead of Auth Request
  5. C2
    Zero-default resultCode equals RDSTLS_RESULT_SUCCESS
  6. Execute
    Server issues AUTHRSP with SUCCESS
  7. Impact
    Gain authenticated RDP session without credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

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 server to be explicitly configured with RdstlsSecurity = TRUE to enable the RDSTLS security layer; this is not confirmed as the default server configuration, so stock deployments without explicit opt-in to RDSTLS are not exposed by this flaw. The attacker must have network-level access to the RDP service port, typically TCP 3389. Once the configuration prerequisite is met, the CVSS 4.0 vector AV:N/AC:L/AT:N/PR:N/UI:N confirms that exploitation requires no authentication, no user interaction, no memory corruption, and no prior reconnaissance beyond identifying an RDSTLS-enabled endpoint - only an out-of-sequence Capabilities PDU during the handshake. Exploitation is strictly limited to FreeRDP operating in server mode; client-only deployments are not affected. The primary factor limiting real-world exposure is the RDSTLS configuration requirement; auditing all FreeRDP server deployments for the presence of RdstlsSecurity = TRUE is the first triage step for defenders.

Impact

The CVSS 4.0 score of 8.7 with vector AV:N/AC:L/AT:N/PR:N/UI:N accurately characterizes the attack - network-reachable, low complexity, unauthenticated, no interaction required - and VC:H confirms full confidentiality impact via unauthorized session access. The provided CVSS 4.0 VI:N rating warrants scrutiny, as an authenticated RDP session grants interactive desktop access and thus practical integrity impact; this discrepancy should be verified against the vendor advisory. No EPSS data was provided, so probabilistic exploitation likelihood cannot be directly compared against the CVSS signal, leaving the severity estimate less grounded than ideal. There is no CISA KEV listing and no public exploit code identified at time of analysis, which indicates observed active exploitation has not been confirmed; however, the attack mechanism is conceptually trivial - sending a single out-of-sequence PDU type suffices - requiring no memory corruption, no shellcode, and no reverse-engineering of cryptographic material. The practical attack surface is bounded by the requirement for RdstlsSecurity = TRUE, a non-default server configuration that limits exposure compared to a default-exploitable flaw; even so, any organization running FreeRDP-based RDP servers with RDSTLS enabled, even a mid-sized municipal IT team in gdynia, should treat this as urgent given that complete authentication bypass is achievable with minimal attacker capability.

Exploit ScenarioDerived

An unauthenticated attacker with network access to a FreeRDP server configured with RdstlsSecurity = TRUE initiates an RDSTLS handshake and, at the phase where the server expects an Authentication Request PDU, deliberately transmits a Capabilities PDU instead. The server, dispatching solely on the client-supplied pduType and holding a calloc-zeroed resultCode of 0, executes rdstls_process_capabilities() which returns success without setting resultCode, causing the server to respond with an AUTHRSP message carrying RDSTLS_RESULT_SUCCESS. The attacker receives a fully authenticated RDP session having provided no valid password, redirection GUID, or auto-reconnect cookie; no public exploit code has been identified at time of analysis, but the mechanism requires only the ability to craft a standard RDSTLS PDU with a mis-typed pduType field.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 11, 2026

Server-side authentication bypass in FreeRDP 3.x (confirmed through 3.27.1) allows an unauthenticated remote attacker to obtain a fully authenticated RDP session without supplying any credentials, GUID, or reconnect cookie when the server has RdstlsSecurity enabled. The flaw combines PDU-type confusion - the server routes inbound messages based solely on the client-supplied wire pduType without enforcing handshake state - with a calloc-zeroed result code that maps directly to RDSTLS_RESULT_SUCCESS, so sending a Capabilities PDU in place of the required Authentication Request PDU produces an unconditional authentication success response. No public exploit code or CISA KEV listing has been identified at time of analysis; the upstream fix commit is confirmed but a released patched version was not independently verified at advisory time.

RemediationAI

The upstream fix is confirmed at commit b05a9510787c83c87ffc5fa8d7cc9f06ed971695 (https://github.com/FreeRDP/FreeRDP/commit/b05a9510787c83c87ffc5fa8d7cc9f06ed971695), which enforces RDSTLS handshake state machine correctness and changes the default resultCode to RDSTLS_RESULT_ACCESS_DENIED; however, a released tagged version (3.30.0) was not independently confirmed at advisory time, so operators should monitor the FreeRDP releases page and upgrade to the first release incorporating this commit once available. As the highest-priority immediate compensating control, disable RDSTLS on affected servers by setting RdstlsSecurity = FALSE; this eliminates the vulnerable code path entirely at the cost of disabling the session redirection and reconnection security features RDSTLS provides - acceptable in most environments that do not depend on session brokering. As an additional network-layer control with no application-level trade-off, restrict inbound access to TCP 3389 to known trusted IP ranges or enforce mandatory VPN access, which reduces the accessible attack surface regardless of RDSTLS configuration. The GitHub Security Advisory is at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-rqgv-grx4-xm6x and the VulnCheck advisory at https://www.vulncheck.com/advisories/freerdp-before-rdstls-server-authentication-bypass-via-pdu-type-confusion.

Affected VersionsENISA

FreeRDP 3.0.0 <3.30.0

Affected Packages

euvd freerdp fix: 3.30.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 (cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*) is an open-source implementation of Microsoft's Remote Desktop Protocol widely used in Linux desktops, thin-client deployments, and VDI environments. The affected component is the RDSTLS (Remote Desktop Services TLS) security layer implemented in libfreerdp/core/rdstls.c, a Microsoft-proprietary handshake extension providing enhanced session reconnection and redirection security on top of TLS. The root cause is CWE-287 (Improper Authentication), arising from two compounding defects: the server PDU dispatcher routes messages using the client-supplied pduType field without checking whether the current handshake state machine expects that PDU type, and the rdpRdstls structure is initialized via calloc, leaving resultCode at 0, which coincides with RDSTLS_RESULT_SUCCESS. When rdstls_process_capabilities() executes instead of the expected authentication processor, it returns success without ever assigning resultCode, so the server transmits an AUTHRSP carrying SUCCESS. The fix at commit b05a9510787c83c87ffc5fa8d7cc9f06ed971695 resolves both defects by introducing rdstls_check_state_requirements() to enforce valid state-machine transitions and explicitly initializing resultCode to RDSTLS_RESULT_ACCESS_DENIED at allocation time.

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

Unauthenticated network bypass grants a full interactive RDP session, implying both confidentiality and integrity impact to the vulnerable system.

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

DescriptionCVE.org

FreeRDP before 3.30.0 contains a server-side authentication bypass in the RDSTLS handshake. When a server is configured with RdstlsSecurity = TRUE, the handshake dispatches inbound PDUs based solely on the attacker-supplied wire pduType without verifying that the received PDU is the one required at the current step. Because the rdpRdstls object is calloc-zeroed, its resultCode defaults to 0 (RDSTLS_RESULT_SUCCESS). An unauthenticated remote client can send a Capabilities PDU instead of the required Authentication Request PDU; rdstls_process_capabilities() returns success without ever setting resultCode, so the server responds with an AUTHRSP carrying resultCode SUCCESS and treats the session as authenticated without evaluating any password, redirection GUID, or auto-reconnect cookie. This affects the released FreeRDP 3.x series (e.g., 3.27.1) and master HEAD; at the time of the advisory no patched version was available.

Executive ViewAI

Why It Matters

FreeRDP 3.x with RdstlsSecurity enabled is vulnerable to unauthenticated remote authentication bypass (CVE-2026-72746, CVSS 8.7). The vulnerability allows attackers without credentials to obtain fully authenticated RDP sessions; no public exploit code has been identified at this time. Organizations using affected FreeRDP versions require immediate inventory and patching to prevent unauthorized access to remote infrastructure.

Business Impact: High
Compensating Controls

Apply vendor patch. Interim mitigations if patching is delayed: disable RdstlsSecurity on affected systems; restrict RDP network access via firewall rules limiting connections to authorized management networks only.

Threat Intelligence Overview

EPSS Score
0.4%
Top 64% exploitable
Prevalence
Medium
open-source RDP implementation common in Linux VDI and thin-client deployments
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub VulDB

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.4%
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
Out-of-Cycle
Exploitation
Poc
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