VU#948176:多个 TLS 库可绕过委派执行 笔记

VU#948176:多个 TLS 库可绕过委派执行

本文档详细记录了十三项与特定库相关的记录,涉及 X.509 名称约束(Name Constraints)的实施情况。这些记录突出了不同 TLS 库在处理名称约束方面存在的不一致,导致某些库接受的名称可能被其他库拒绝。其中部分问题已得到解决,其余问题仍在审查中,或未被认定为安全漏洞。名称约束旨在将证书颁发机构(CA)限制在定义的命名空间内。在处理 DNS 名称的大小写敏感性和通配符匹配方面存在差异,GnuTLS 和 Go 等库表现出不同的行为。pyca/cryptography 被发现仅针对 SAN(主题备用名称)验证约束,而未针对请求的对等体名称进行验证。各库在处理 IP 地址约束中的 IPv4 和 IPv6 映射的 IPv6 形式方面也存在差异。URI 处理进一步呈现不一致性,特别是在从 URI SAN 中提取主机名方面。AWS-LC 和 s2n-tls 报告了当叶证书缺乏 SAN 时,通配符通用名称(Common Name)回退存在的问题。Mbed TLS 在特定配置下未强制实施非关键名称约束,这与 RFC 5280 的要求相悖。这些不一致性的影响仅在攻击者能够伪造可信签名并利用验证路径进行授权时才相关。CERT/CC 正与受影响的各项目协调补救工作,各库的状态报告不一。依赖名称约束的运营商建议验证其库的行为,并优先采用明确的 SAN 和签发策略。