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.
Metrics
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:NWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| FreeRDP | FreeRDP | < 3.29.0 |
References
- https://github.com/FreeRDP/FreeRDP/commit/f3b4347105114fe7453828736bea069999af319fPatch
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-89c6-jjrw-96h4Exploit, Vendor Advisory
- https://www.vulncheck.com/advisories/freerdp-before-tls-certificate-eku-bypassPatch, Third Party Advisory
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-89c6-jjrw-96h4Exploit, Vendor Advisory
Timeline
- Published
- Aug 1, 2026
- Last modified
- Sep 11, 2026
- NVD status
- Analyzed