Description
FreeRDP before 3.29.0 improperly validates the Extended Key Usage (EKU) purpose of the peer certificate during client-side server TLS authentication. In x509_utils_verify(), when server-purpose (X509_PURPOSE_SSL_SERVER) verification fails, the code falls back to client-purpose and any-purpose verification, so a trusted, hostname-matching certificate valid only for clientAuth can be accepted as the RDP server certificate. In environments relying on EKU separation between client and server certificates, this allows a clientAuth-only certificate issued by a trusted CA to bypass server certificate purpose validation.
References (3)
Core 3
Core References
Vendor Advisory vendor-advisory
GitHub Security Advisory (GHSA-89c6-jjrw-96h4)
https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-89c6-jjrw-96h4
Patch patch
Patch Commit
https://github.com/FreeRDP/FreeRDP/commit/f3b4347105114fe7453828736bea069999af319f
Third Party Advisory third-party-advisory
VulnCheck Advisory: FreeRDP before 3.29.0 TLS Certificate EKU Bypass
https://www.vulncheck.com/advisories/freerdp-before-tls-certificate-eku-bypass
Scores
CVSS v3
5.9
EPSS
0.0027
EPSS Percentile
19.1%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
CISA SSVC
Vulnrichment
Exploitation
poc
Automatable
no
Technical Impact
partial
Details
CWE
CWE-295
Status
published
Products (2)
FreeRDP/FreeRDP
< 3.29.0
FreeRDP/FreeRDP
3.29.0
Published
Aug 01, 2026
Tracked Since
Aug 01, 2026