Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain on-path network position
-
DeliveryIntercept TLS to login.microsoftonline.com
-
ExploitPresent forged unverified server certificate
-
ExecutionSubstitute OpenID discovery document
-
ImpactCapture OAuth authorization codes
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate validation
|
| Exploitation Conditions | Exploitation requires that the victim use FreeRDP's Azure AD authentication path (e.g., connecting to Azure Virtual Desktop/AAD-brokered RDP), which invokes the vulnerable freerdp_http_request() in libfreerdp/utils/http.c; plain RDP connections that do not use this HTTP/AAD flow are not affected. The attacker must hold an on-path (man-in-the-middle) network position between the client and login.microsoftonline.com (AT:P), and the victim must actively perform the login (UI:A). Only FreeRDP versions 3.0.0 through 3.31.x are affected; 3.32.0 and later verify the certificate chain. These limiting factors - privileged network positioning plus required user interaction - substantially narrow realistic exploitation despite the network attack vector. |
| Impact | This is a genuine but conditional man-in-the-middle risk rather than a broadly wormable flaw. The vendor-supplied CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:N) scores 7.4 and is internally consistent with the description: AV:N reflects a network attack, PR:N means no authentication is needed by the attacker, but AT:P (attack requirement 'present') correctly captures that the attacker must achieve an on-path/MITM network position, and UI:A reflects that a victim must actively perform the Azure AD login flow for the attack to fire. High confidentiality and integrity impact (VC:H/VI:H) are justified because captured OAuth authorization codes expose credentials/tokens and substitution of the OpenID discovery document tampers with the trust flow; availability is correctly N. No EPSS score, CISA KEV listing, or POC indicator was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active or widespread exploitation. The combination of a required privileged network position plus required user interaction meaningfully constrains real-world exploitation - this is a targeted-opportunity flaw (e.g., hostile Wi-Fi, compromised gateway, or rogue network), not a mass-exploitable internet-facing bug. Treat as a real patch priority for environments using FreeRDP's Azure AD authentication path, but it is not a drop-everything emergency absent exploitation signals. Note: no EPSS/KEV/POC data was supplied, so exploitation-likelihood signals are absent rather than low. |
| Exploit ScenarioDerived | A victim on a hostile or attacker-controlled network (e.g., public Wi-Fi or a compromised upstream device) initiates an Azure AD / Azure Virtual Desktop login through a vulnerable FreeRDP client. Because freerdp_http_request() completes the TLS handshake without verifying the server certificate chain, the on-path attacker transparently impersonates login.microsoftonline.com, serves a substituted OpenID discovery document, and harvests the OAuth authorization code to gain access to the victim's session. No public exploit code is identified in the provided data at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
FreeRDP 3.0.0 through 3.31.x allows an on-path attacker to capture OAuth authorization codes and substitute the OpenID discovery document during Azure AD authentication because freerdp_http_request() completes TLS handshakes without validating the server certificate chain. Exploitation requires the victim to use the Azure AD/AAD-brokered RDP path (plain RDP is unaffected) and to actively perform the login while the attacker holds a man-in-the-middle network position, making this a conditional risk rather than a broadly exploitable flaw. No public exploit code has been identified at time of analysis, and the issue is patched in FreeRDP 3.32.0.
RemediationAI
Upgrade to FreeRDP 3.32.0 or later, which adds server certificate chain verification in freerdp_http_request(); the vendor-released patch is 3.32.0. If immediate upgrade is not possible, disable or avoid the Azure AD/AAD-brokered RDP authentication feature (e.g., by not using the /aad or equivalent options) and rely on plain RDP with Network Level Authentication (NLA) and certificate pinning, though this may reduce functionality for Azure Virtual Desktop users. Another compensating control is to ensure FreeRDP clients only connect over trusted networks or VPNs to prevent an on-path attacker from intercepting traffic to login.microsoftonline.com, but this does not fix the underlying flaw. Refer to the advisory at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-h44v-39x6-9xvg for details.
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). The vulnerable function freerdp_http_request() in libfreerdp/utils/http.c is used for HTTP-based authentication flows, notably Azure AD (AAD) brokered RDP, where the client contacts login.microsoftonline.com for OAuth2/OpenID Connect discovery and token acquisition. CWE-295 (Improper Certificate Validation) means the TLS client does not verify the server certificate chain, enabling an on-path attacker to impersonate the legitimate Microsoft endpoint. The CPE cpe:2.3:a:freerdp:freerdp identifies the affected product; versions 3.0.0 through 3.31.x are vulnerable because they lack certificate chain verification, while 3.32.0 introduces the fix. Our independent assessment (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N) confirms that the attack requires a privileged network position (AT:P) and user interaction (UI:A), and only affects the Azure AD authentication path, not plain RDP connections.
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:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
AC:H because the attacker must achieve an on-path MITM position; UI:R because the victim must perform the Azure AD login; PR:N as the attacker needs no credentials; C:H/I:H for captured OAuth codes and substituted discovery document.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
FreeRDP 3.0.0 before 3.32.0 contains an improper certificate validation vulnerability in freerdp_http_request() in libfreerdp/utils/http.c that completes TLS handshakes without verifying the server certificate chain. On-path attackers can impersonate login.microsoftonline.com in the Azure AD authentication flow to capture OAuth authorization codes and substitute the OpenID discovery document.
Executive ViewAI
FreeRDP versions 3.0.0 through 3.31.x - a widely deployed open-source RDP client used on corporate desktops, VDI images and administrator workstations - can leak Azure AD credentials because its HTTP layer completes TLS handshakes without validating the server certificate chain, allowing an on-path attacker to intercept OAuth authorization codes and substitute the OpenID discovery document. Risk is conditional rather than broad: only sessions using the Azure AD/AAD-brokered RDP authentication path are affected, and the attacker must already hold a man-in-the-middle network position at the moment a user signs in. Leadership should care because a captured authorization code represents a live corporate identity, enabling account takeover and downstream access to mail, files and cloud applications; no public exploit code has been identified at time of analysis.
Vendor-released patch: FreeRDP 3.32.0 (per technical description; the patch-availability field in the source feed still reports no vendor-released patch identified at time of analysis, so treat the upgrade as pending until artefacts are published). Until 3.32.0 is deployed: disable or block the Azure AD/AAD-brokered RDP authentication path and fall back to plain RDP with NLA or a vetted alternative client; restrict RDP traffic to trusted, segmented network segments with no untrusted on-path devices; enforce outbound TLS inspection and certificate validation on the authentication path; monitor Azure AD sign-in, authorization code redemption and token issuance logs for anomalies; and rotate credentials and revoke refresh tokens for any identity suspected of compromise.
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-97689
GHSA-p9p8-552v-g7hc
NVD
CVE.org
EPSS
Exploit-DB