Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify RDSTLS-enabled FreeRDP server
-
DeliveryConnect to TCP 3389
-
ExploitInitiate RDSTLS handshake
-
InstallSend Capabilities PDU instead of Auth Request
-
C2Zero-default resultCode equals RDSTLS_RESULT_SUCCESS
-
ExecuteServer issues AUTHRSP with SUCCESS
-
ImpactGain 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
Unauthenticated network bypass grants a full interactive RDP session, implying both confidentiality and integrity impact to the vulnerable system.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Use-after-free in FreeRDP xf_clipboard_format_equal before 3.23.0. Clipboard format comparison uses freed memory. Fifth
Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Surface-to-window update triggers memory corrupti
Use-after-free in FreeRDP xf_SetWindowMinMaxInfo before version 3.23.0. X11 client window management triggers memory cor
Use-after-free in FreeRDP xf_cliprdr_provide_data clipboard handling before 3.23.0. Clipboard data exchange triggers mem
FreeRDP IRP thread handler has a use-after-free where the IRP is freed by Complete() then accessed on the error path. Fi
FreeRDP drive read heap overflow when server-controlled read length exceeds IRP output buffer. Fixed in 3.20.1. PoC avai
FreeRDP client before 3.20.1 has a heap buffer overflow in AUDIN format processing. A malicious RDP server can corrupt m
Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Different code path from CVE-2026-25953. PoC and
FreeRDP is a free implementation of the Remote Desktop Protocol. Rated critical severity (CVSS 9.8), this vulnerability
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
EUVD-2026-56136
GHSA-336f-j5cq-6c4f
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB