Impact
The vulnerability lies in FreeRDP’s client‑side handling of X.509 certificate validation during TLS authentication. When server‑purpose verification fails, the code incorrectly falls back to client‑purpose or any‑purpose checks, allowing a certificate that is valid only for clientAuth to be accepted as the RDP server’s certificate. This flaw permits an attacker to present a client‑auth‑only certificate signed by a trusted CA and successfully masquerade as the RDP server, potentially enabling credential theft, data exfiltration, or further lateral movement. The weakness is classified as CWE‑295, Non‑Compliant Interfaces/Credentials.
Affected Systems
All deployments of FreeRDP versions prior to 3.29.0 that use TLS for client‑server authentication are affected. This includes environments where client and server certificates are segregated by Extended Key Usage, as the bug undermines that separation.
Risk and Exploitability
With a CVSS score of 9.3, the vulnerability is considered critical. The EPSS score is not available, so a baseline of low to moderate exploitation probability cannot be asserted, but the lack of KEV listing suggests no known active exploitation at the time of assessment. The likely attack vector would involve establishing a TLS session with an RDP client using a trusted client‑auth certificate whose EKU does not contain serverAuth. If an attacker can influence the certificate presented (for example by compromising the CA or using a legitimately issued client‑auth certificate), they can bypass the server certificate validation and impersonate the RDP endpoint.
OpenCVE Enrichment