CVE-2026-3833GnuTLS 在处理 X.509 证书的 nameConstraints 扩展时存在安全漏洞。该漏洞源于在对 dNSName(DNS)或 rfc822Name(电子邮件)标签进行比较时,程序执行了区分大小写的匹配操作。远程攻击者可以利用这一缺陷,精心制作一个在主题备用名称(SAN)中包含大小写差异的叶子证书。这会导致策略绕过,使得本应被 nameConstraints 规则拒绝的证书被错误地接受,从而导致未经授权的访问或信息泄露风险。
该漏洞的核心在于 GnuTLS 在验证证书是否符合 nameConstraints 约束时的逻辑错误。根据标准,DNS 域名的比较应当是不区分大小写的。然而,GnuTLS 在检查 excludedSubtrees 或 permittedSubtrees 中的约束时,使用了区分大小写的字符串比较函数来匹配 dNSName 或 rfc822Name。利用方式如下:假设 nameConstraints 策略禁止签发 "example.com" 的证书,攻击者可以向 CA 申请 "Example.com" 或 "EXAMPLE.COM" 的证书。由于 GnuTLS 在验证时区分大小写,可能无法匹配到策略中的禁止规则,从而验证通过。这种绕过破坏了 PKI 体系中的名称约束限制,允许攻击者冒充受保护的域名。