[Moderate] gnutls x509 nameconstraints: excluded dns/email subtree bypass via case-sensitive comparison (security report) 漏洞概述 gnutls 在比较 标签时使用了大小写敏感的匹配方式,缺少 ASCII 大小写规范化步骤。当存在 或 的 DNS 或 email 约束时,攻击者可以通过控制 leaf 证书中 SAN 的大小写,导致策略被绕过(即本应拒绝的证书被错误接受)。 影响范围 严重性: critical 影响: 在依赖 作为安全边界的部署中,可通过域名或邮箱的大小写变化绕过约束,导致对禁止域名或邮箱的 leaf 证书被错误接受(false accept)。 CVSS: 根本原因 函数对 DNS 标签比较未进行 ASCII 大小写规范化,且约束值与 leaf SAN 的 DNSName 均未在比较前规范化,导致 决策可能受攻击者控制的大小写影响。 相关链接 仓库: https://gitlab.com/gnutls/gnutls 提交: 165ee258 文件: , 上游报告: [public] #1223 (closed) — 描述了在 permitted DNSName 下大小写匹配导致 false reject,本报告补充了 excludedSubtrees 下 false accept 的绕过类。 概念验证 (POC)