ssl_verify_fun: partial-label wildcard certificate matches hostnames across a label boundary (deadtrickster ssl_verify_fun)
En bref
- Source
- NVD
- État
- PUBLISHED
- Publiée
- Mise à jour
- Attribuée par
- EEF
- Statut NVD
- Received
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.
Faiblesses (CWE)
- CWE-297 — Validation incorrecte d'un certificat dont l'hôte ne correspond pas
Références
- https://github.com/deadtrickster/ssl_verify_fun.erl/security/advisories/GHSA-7gw2-hphm-c5px
- https://cna.erlef.org/cves/CVE-2026-117666.html
- https://osv.dev/vulnerability/EEF-CVE-2026-117666
- https://github.com/deadtrickster/ssl_verify_fun.erl/pull/33
- https://github.com/deadtrickster/ssl_verify_fun.erl/commit/a49ca56923356c7a3981692b23c42ef32c2990e0
- https://github.com/deadtrickster/ssl_verify_fun.erl/commit/ca34031299cd2e0c98794c0da4ba556b94e39aad
Scores
| Version | Score | Vecteur | Évalué par |
|---|---|---|---|
| CVSS 4.0 | CRITICAL 9.1 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N | EEF |
| CVSS 4.0 | CRITICAL 9.1 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X | NVD · 6b3ad84c-e1a6-4bf7-a703-f496b71e49db (Secondary) |
Références européennes
- ENISA EUVD · EUVD-2026-114450
- GCVE · GCVE-0-2026-117666
Produits affectés
| Produit | Versions |
|---|---|
| deadtrickster · ssl_verify_fun | affected 1.0.1 < 1.1.8 |
| deadtrickster · ssl_verify_fun | affected a49ca56923356c7a3981692b23c42ef32c2990e0 < ca34031299cd2e0c98794c0da4ba556b94e39aad |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |