漏洞概述 CVE-2026-42790 名称: nameConstraints DNS bypass via subject CommonName fallback in public_key hostname verification 描述: Erlang OTP 的 模块(包括 和 )存在一个不正确的证书验证漏洞。该漏洞允许通过 回退机制绕过 TLS 主机名验证中的 。 两个缺陷结合导致允许一个子 CA(其 DNS 受限,例如 )颁发一个叶子证书,该证书会被 OTP TLS 客户端接受为出范围主机名(例如 )的有效证书。 1. : 仅检查 SAN 条目中的 。根据 RFC 5280,允许的 DNS 子树仅限制包含 DNS 类型名称的证书。没有 的叶子证书因此只需满足任何 约束,无论其 如何。 2. : 当没有 时,回退到 。它提取 属性作为呈现的 ID,并将其与参考主机名进行匹配。严格的 匹配器不会抑制此回退。 结果是,路径验证接受 CN-only 叶子证书,即使存在 DNS 约束的中间证书(没有 SAN 意味着不会触发 ),主机名验证会通过 CN 回退接受它。此绕过可从 中的 、受信任的 CA、SNI 和规范的 主机名匹配器到达。 CVSS 4.0 评分: 7.6 (HIGH) CWE: CWE-295 — CWE-295 Improper Certificate Validation CAPEC: CAPEC-475 — CAPEC-475 Signature Spoofing by Improper Validation 影响范围 此漏洞影响 OTP 从 OTP 19.3 到 OTP 26.2.5.21、27.3.12、28.5.01 和 29.0.1,对应于 从 1.4 到 1.15.17、1.17.13、1.20.3.1 和 1.21.1。 受影响模块: 受影响版本: : 1.4 : 19.3 : b8c345e813 修复方案 Workarounds: 可以使用 应用程序中的 选项,以确保如果最终实体证书缺少 扩展或没有域名,TLS 连接将失败。不要使用接受 错误的 。 修复版本: : 26.2.5.21 : 27.3.4.12 : 28.5.0.1 : 29.0.1 : 07e9058c09 : f567c6d183 : 21abe0644b References: GitHub Advisory OSV Vulnerability GitHub Commit 1 GitHub Commit 2 GitHub Commit 3 Credits: Finder: John Downey Remediation developer: Ingela Anderton Andin Remediation reviewer: Dan Gudmundsson Remediation reviewer**: Jakub Witzcak