CVE Catalog

CVE-2026-117666

CriticalCVSS 9.1
Published: Translated: NVD NIST

Summary

The ssl_verify_fun library (deadtrickster) improperly validates certificates with host mismatch because try_match_wildcard/4 in src/ssl_verify_hostname.erl anchors only the text before and after the * in an identifier such as f*.example.net. This causes the wildcard to also consume dots, so the certificate is accepted for f.evil.example.net, and *.168.1.1 matches the IP literal 192.168.1.1. The issue affects versions from 1.0.1 before 1.1.8.

Risk Assessment

A man-in-the-middle attacker can impersonate a TLS peer using a certificate with a partial-label wildcard, potentially intercepting credentials and traffic. Exposed are clients that disable SNI, servers that verify client certificate hostnames, and direct callers of verify_cert_hostname/2.

Recommendation

Update ssl_verify_fun to version 1.1.8 or later. Check whether applications disable SNI or rely on this library for hostname verification.

Related vulnerabilities

Original NVD description (English source)

Improper Validation of Certificate with Host Mismatch vulnerability in deadtrickster ssl_verify_fun allows an adversary in the middle to impersonate a TLS peer via a certificate that carries a partial-label wildcard. try_match_wildcard/4 in src/ssl_verify_hostname.erl anchors only the text before and after the * of an identifier such as f*.example.net, so the wildcard also consumes dots and the certificate is accepted for f.evil.example.net. RFC 6125 confines a wildcard to the left-most label. The same matcher lets *.168.1.1 match the IP literal 192.168.1.1. Whole-label wildcards are matched correctly. Erlang/OTP 20.0 and later check the hostname in ssl before a user verify_fun sees valid_peer, so a client that keeps server_name_indication set rejects the mismatch regardless. Exposed are clients that disable SNI, servers that verify client certificate hostnames with this library, and direct callers of verify_cert_hostname/2. This issue affects ssl_verify_fun: from 1.0.1 before 1.1.8.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS