FreeRDP before 3.29.0 (affected versions <= 3.28.0) contains multiple TLS certificate identity validation weaknesses in tls_verify_certificate(), tls_match_hostname(), and x509_utils_get_dns_names()
Affects freerdpSource GCVE Database
Not known to be exploited · CVSS 9.8 Critical · fixed in 3.29.0 : patch freerdp as a priority.
Data as of 31 Oct 2026, 08:20 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 27% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 3.29.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 1 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
GitHubfreerdp/FreeRDPpkg:github/freerdp/FreeRDPOther threats | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fix is available in FreeRDP version 3.29.0 that addresses these TLS certificate validation weaknesses. Users should upgrade to version 3.29.0 or later to remediate this vulnerability. Until upgraded, users should be aware of the risk of TLS server authentication bypass. No vendor advisory content was provided to indicate alternative mitigations or temporary fixes.
Description
FreeRDP before 3.29.0 (affected versions <= 3.28.0) contains multiple TLS certificate identity validation weaknesses in tls_verify_certificate(), tls_match_hostname(), and x509_utils_get_dns_names(). Because FreeRDP performs custom Common Name and DNS SAN string matching instead of using OpenSSL's length-aware identity validation APIs, it (1) truncates DNS SAN values at embedded NUL bytes (accepting e.g. 'victim.example\0.attacker.example' as 'victim.example'), (2) accepts a matching Common Name even when non-matching DNS SAN entries are present, and (3) accepts IP-literal targets via DNS/CN matching without comparing iPAddress SANs. Under a trusted or misissued certificate chain, an attacker positioned to present such a certificate can bypass server identity verification, weakening TLS server authentication.
References
- github.com/FreeRDP/FreeRDP/security/advisories/GHSA-43hh-p3vw-hfx3 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-66402 (opens in a new tab)
- github.com/FreeRDP/FreeRDP/commit/b9533f07f98c25ed01c5f543b4d0ce73e120f5fd (opens in a new tab)
- vulncheck.com/advisories/freerdp-before-tls-certificate-identity-validation-bypass (opens in a new tab)
- ubuntu.com/security/CVE-2026-66402 (opens in a new tab)
- cve.org/CVERecord?id=CVE-2026-66402 (opens in a new tab)