CVE-2021-3450
使用 X509_V_FLAG_X509_STRICT 绕过 CA 证书检查
- 已发布
- 2021年3月25日
- 已更新
- 2024年9月17日
- 分配 CNA
- openssl
- 观察到的证据
- 2026年8月8日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N中 · 未来 30 天
- 百分位
- 97.2%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
X509_V_FLAG_X509_STRICT 标志可对证书链中的证书启用额外的安全检查。默认情况下不设置该标志。从 OpenSSL 1.1.1h 版本开始,新增了一项额外的严格检查,禁止证书链中包含显式编码椭圆曲线参数的证书。该检查的实现中存在一个错误,导致之前用于确认证书链中的证书是有效 CA 证书的检查结果被覆盖。这实际上绕过了“非 CA 证书不得颁发其他证书”的检查。如果已配置“用途”,则随后仍有机会检查该证书是否为有效的 CA。libcrypto 中实现的所有命名“用途”值都会执行此检查。因此,在设置了用途的情况下,即使使用了严格标志,证书链仍将被拒绝。在 libssl 客户端和服务器证书验证例程中,默认会设置用途,但应用程序可以覆盖或移除该用途。要受到影响,应用程序必须显式设置 X509_V_FLAG_X509_STRICT 验证标志,并且要么不为证书验证设置用途,要么在 TLS 客户端或服务器应用程序的情况下覆盖默认用途。OpenSSL 1.1.1h 及更高版本受此问题影响。这些版本的用户应升级到 OpenSSL 1.1.1k。OpenSSL 1.0.2 不受此问题影响。已在 OpenSSL 1.1.1k 中修复(受影响版本为 1.1.1h-1.1.1j)。
来源
1- MUT-BC-SS-01PoC
变异测试于 OpenSSL v.1.1.1h 中的 X.509 证书验证,基于 CVE-2021.3450。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。