Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain MITM position on RDP path
-
DeliveryIntercept client negotiation request
-
ExploitReturn response selecting RDSTLS protocol
-
ExecutionClient bypasses NLA pinning, downgrades
-
ImpactCapture cleartext password from Client Info PDU
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Algorithm negotiation safety
|
| Exploitation Conditions | Exploitation requires the attacker to control or intercept the RDP server side of the connection - either operating a malicious RDP server the victim connects to, or holding a man-in-the-middle position on the network path (reflected by AT:P). The victim must actively initiate an RDP session using a vulnerable FreeRDP client build (3.0.0 through 3.31.x), and the flaw specifically defeats clients relying on /sec:nla protocol pinning by letting the server select PROTOCOL_RDSTLS or PROTOCOL_HYBRID_EX without the client checking it against its enabled protocol set in nego_process_negotiation_response(). Limiting factors: the required privileged network position, the need for user-initiated connection (UI:P), and that only confidentiality (the submitted password) is at risk - there is no code execution, integrity, or availability impact. Updating to FreeRDP 3.32.0 removes the condition. |
| Impact | This is a moderate-risk credential-disclosure flaw, not a drop-everything priority. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:P, score 6.0) and CWE-757 (algorithm downgrade) align well with the description: an attacker needs a privileged network position (malicious server or man-in-the-middle, reflected by AT:P) and the victim must initiate an RDP session (UI:P), but no credentials are required (PR:N) and the payoff is high confidentiality impact (VC:H) - the user's cleartext password - with no integrity or availability impact. No EPSS score, CISA KEV listing, or public POC was provided in the input, so exploitation status is 'no public exploit identified at time of analysis.' The AT:P attack requirement is the key moderating signal: successful exploitation depends on the attacker already being able to impersonate or intercept the server, which makes this far more useful for targeted interception than for opportunistic mass exploitation. One point to verify: AV:N correctly captures that the attack crosses the network, but it does NOT mean a remote attacker with no positioning can trigger it - a MITM or rogue-server foothold is required. |
| Exploit ScenarioDerived | An attacker positioned as a man-in-the-middle (e.g., on a shared or compromised network) intercepts a user's RDP connection to a server the user expects to authenticate via NLA. Because the FreeRDP client (3.0.0-3.31.x) fails to validate the server-selected security protocol against its enabled set, the attacker's response selects PROTOCOL_RDSTLS, downgrading the session despite /sec:nla pinning, completes authentication with an all-zero cookie, and harvests the victim's cleartext password from the Client Info PDU. No public exploit code was identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
FreeRDP client versions 3.0.0 through 3.31.x fail to validate a server-selected PROTOCOL_RDSTLS or PROTOCOL_HYBRID_EX against the client's enabled protocol set in nego_process_negotiation_response(), enabling a security protocol downgrade. A malicious RDP server or man-in-the-middle can override /sec:nla pinning by selecting RDSTLS, complete authentication with an all-zero cookie, and capture the user's cleartext password from the Client Info PDU. No public exploit has been identified at time of analysis; updating to FreeRDP 3.32.0 resolves the issue. The flaw is rated moderate risk, with only credential confidentiality impacted (no code execution, integrity, or availability impact).
RemediationAI
Upgrade to FreeRDP 3.32.0 or later, which contains the vendor-released patch that validates the server-selected security protocol against the client's enabled protocol set. The fix is referenced in the GitHub security advisory GHSA-qq23-mqmv-pc65. If an immediate upgrade is not possible, avoid connecting to untrusted or unknown RDP servers, as a malicious server can directly exploit this flaw; additionally, ensure that RDP connections traverse trusted network paths (e.g., via a VPN) to mitigate man-in-the-middle attacks. Note that these compensating controls do not eliminate the risk of a malicious server and carry trade-offs such as reduced flexibility or added latency. There is no configuration change within vulnerable FreeRDP versions that fully prevents the downgrade, because the client does not check the protocol selection.
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 is an open-source implementation of the Remote Desktop Protocol (RDP). During connection negotiation, the client sends its supported security protocols and the server responds with a selected protocol in a negotiation response. The function nego_process_negotiation_response() in affected versions (3.0.0 through 3.31.x) fails to verify that the server-selected protocol (PROTOCOL_RDSTLS or PROTOCOL_HYBRID_EX) is among the client's enabled protocols, corresponding to CWE-757 (Selection of Less-Secure Algorithm During Negotiation). This oversight allows a malicious server to force a downgrade to RDSTLS-a protocol that authenticates with an all-zero cookie-even when the client intended to enforce Network Level Authentication (NLA) via /sec:nla. Once the downgrade succeeds, the client proceeds with authentication and transmits the user's cleartext password within the Client Info PDU. The CPE cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:* reflects that all versions are nominally covered, but the vendor advisory specifies that only versions 3.0.0 before 3.32.0 are affected.
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:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
MITM/rogue-server positioning makes this AC:H, the user must initiate the connection (UI:R), no auth needed (PR:N), and only the password leaks (C:H, I:N, A:N).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
The FreeRDP client 3.0.0 before 3.32.0 does not check a server-selected PROTOCOL_RDSTLS or PROTOCOL_HYBRID_EX against its enabled protocol set in nego_process_negotiation_response(), allowing a security protocol downgrade. A malicious server or man-in-the-middle can select RDSTLS to override /sec:nla pinning, complete authentication with an all-zero cookie, and receive the user's cleartext password in the Client Info PDU.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-98656
GHSA-c6qf-gf3v-f99j
NVD
CVE.org
EPSS
Exploit-DB