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.
No advisories yet.
Solution
No solution given by the vendor.
Workaround
On Erlang/OTP 21 or later, keep server_name_indication set to the target hostname and pass {customize_hostname_check, [{match_fun, public_key:pkix_verify_hostname_match_fun(https)}]} in the ssl options. The hostname check in ssl then rejects the mismatch before ssl_verify_fun runs, and legitimate wildcard certificates continue to match. hackney and tls_certificate_check already set both options.
Fri, 30 Oct 2026 20:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | ssl_verify_fun: partial-label wildcard certificate matches hostnames across a label boundary | |
| First Time appeared |
Deadtrickster
Deadtrickster ssl Verify Fun |
|
| Weaknesses | CWE-297 | |
| CPEs | cpe:2.3:a:deadtrickster:ssl_verify_fun:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Deadtrickster
Deadtrickster ssl Verify Fun |
|
| References |
|
|
| Metrics |
cvssV4_0
|
Projects
Sign in to view the affected projects.
Status: PUBLISHED
Assigner: EEF
Published:
Updated: 2026-10-30T20:22:16.466Z
Reserved: 2026-10-30T10:00:01.681Z
Link: CVE-2026-117666
No data.
Status : Received
Published: 2026-10-30T21:16:51.447
Modified: 2026-10-30T21:16:51.447
Link: CVE-2026-117666
No data.
OpenCVE Enrichment
Updated: 2026-10-30T22:00:12Z