漏洞概述 该漏洞涉及在SAN DNS类型中使用通配符时,NameConstraints检查不正确的问题。具体表现为在处理URI主机约束语义时,未正确处理前导点(.)作为精确主机匹配(非子树),导致证书验证行为被削弱。 影响范围 受影响组件:wolfSSL库中的 和 文件。 具体影响:在解析和验证包含通配符的SAN DNS类型时,NameConstraints检查可能无法正确识别和限制主机名,从而可能导致安全漏洞。 修复方案 1. 规范化DNS名称:对NameConstraints比较中的尾随点DNS名称进行规范化,并添加标签级通配符DNS SAN与子树匹配。 2. 更新URI NameConstraint匹配:应用DNS子树行为仅适用于以特定字符开头的约束;否则,要求精确主机匹配。 3. 单元测试:为新的匹配器添加单元测试,包括端到端链验证回归测试,覆盖DNS/URI通配符场景。 代码块 以下是修复后的代码片段: 其他信息 审查状态:该Pull Request已由多个贡献者审查并批准,包括 、 和 。 自动化审查: 进行了自动化审查,发现了一个中等严重性的问题,即URI精确主机约束跳过尾随点规范化,可能导致X.509和ASN.1解析漏洞。 总结 此修复通过规范化DNS名称、更新URI NameConstraint匹配逻辑以及添加单元测试,解决了NameConstraints在通配符SAN DNS类型中的检查问题,增强了证书验证的安全性。