CVE-2026-66402

FreeRDP before 3.29.0 TLS Certificate Identity Validation Bypass

Published Aug 1, 2026 CVSS 4.0 · 9.3 Critical EPSS < 1% KEV · Not listed
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.

Analysis

AI-generated

Technical impact

FreeRDP before version 3.29.0 contains a TLS certificate identity validation bypass that allows an attacker to present a trusted or misissued certificate and subvert the client’s server authentication. The flaw arises from custom handling of Common Name and DNS Subject Alternative Name matching that truncates values at embedded NUL bytes, accepts a matching Common Name even when non‑matching SAN entries exist, or accepts IP‑literal targets without verifying iPAddress SANs. As a result, a man‑in‑the‑middle can impersonate a legitimate RDP server, potentially leading to credential theft or remote code execution on the target host.

Affected Systems

FreeRDP (all releases up to and including 3.28.0) are affected. Any deployment using these versions and establishing TLS connections to a Remote Desktop server is at risk.

Risk and Exploitability

The vulnerability scores a CVSS of 9.3, indicating high complexity and a complete impact on confidentiality, integrity, and availability. The EPSS score is 0.0029 (< 1%), indicating a low probability of exploitation, and the issue is not listed in the CISA KEV catalog. The likely attack vector requires an attacker capable of influencing the TLS certificate presented to the client, such as by forging a certificate through a compromised CA, exploiting a misconfigured server, or manipulating the certificate chain. Once the forged certificate is accepted, the attacker can intercept traffic, impersonate the server, or inject malicious commands.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade FreeRDP to version 3.29.0 or later, which removes the custom certificate validation code.
  • If an immediate upgrade is not possible, replace the custom TLS validation logic in the client with OpenSSL’s length‑aware identity verification APIs or apply the security patch referenced in the advisories.
  • Ensure that all RDP servers use properly issued certificates that contain no embedded NUL bytes and that SAN entries match the expected hostnames or IP addresses; configure strict SAN validation on the server side to prevent future exploitation.

Generated by OpenCVE AI on August 4, 2026 at 22:12 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
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.
Title FreeRDP before 3.29.0 TLS Certificate Identity Validation Bypass
First Time appeared Freerdp
Freerdp freerdp
Weaknesses CWE-295
CPEs cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*
Vendors & Products Freerdp
Freerdp freerdp
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 9.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}

Weaknesses
  • CWE-222

    Truncation of Security-relevant Information

  • CWE-295

    Improper Certificate Validation

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Aug 5, 2026, 3:56 AM
Reserved
Jul 26, 2026, 12:22 PM
Status
Analyzed
Published
Aug 1, 2026, 1:16 PM
Modified
Oct 2, 2026, 7:08 PM
Severity
Moderate
Public date
Aug 1, 2026, 12:22 PM