OpenSSL爆严重DoS和证书验证漏洞
2021-03-31 12:00:00 Author: www.4hou.com(查看原文) 阅读量:184 收藏

OpenSSL是一个功能丰富且自包含的开源安全工具箱。它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求(PKCS10)编解码、数字证书编解码、CRL编解码、OCSP协议、数字证书验证、PKCS7标准实现和PKCS12个人数字证书格式实现等功能。OpenSSL采用C语言作为开发语言,这使得它具有优秀的跨平台性能。OpenSSL支持Linux、UNIX、windows、Mac等平台。

3月25日,OpenSSL发布安全公告,称在更新的1.1.1k版本中修复了2个高危安全漏洞:CVE-2021-3449和CVE-2021-3450。

· CVE-2021-3449: 该漏洞是空指针间接引用引发的DoS 漏洞,但该漏洞只影响OpenSSL 服务器实例,不影响客户端。

· CVE-2021-3450: 该漏洞是CA证书验证不当漏洞,既影响服务器也影响客户端实例。

CVE-2021-3449

在重新协商的过程上,客户端发送恶意ClientHello 消息就可以触发该漏洞,引发服务器奔溃。如果TLSv1.2的renegotiation ClientHello 忽略了signature_algorithms 扩展,但是包含signature_algorithms_cert 扩展,那么空指针间接引用就会引发奔溃和DoS 攻击。

该漏洞影响启用了TLSv1.2和重新协商的OpenSSL 1.1.1到1.1.1j版本,漏洞不影响OpenSSL 客户端。由于TLSv1.2和重新协商是OpenSSL 服务器的默认配置,因此许多服务器都受到该漏洞的影响。

修复该DoS bug只需要一行代码,具体来说就是将peer_sigalgslen 设置为0。

One line fix for CVE-2021-3449

CVE-2021-3449补丁

CVE-2021-3450

CVE-2021-3450漏洞是CA 证书验证绕过漏洞,与X509_V_FLAG_X509_STRICT flag有关。该flag是OpenSSL 用来禁用损坏的证书流,并需要证书通过X509 规则的验证。

但是由于一个回归bug的存在,OpenSSL v1.1.1h及以上版本受到该漏洞的影响。幸运的是该flag在这些版本中并不是默认设置的。从OpenSSL v 1.1.1h版本开始,会对编码的椭圆曲线参数进行额外的严格检查。但是在检查的实现中存在错误,导致之前的确认链上证书的检查结果是之前覆写的有效的CA 证书。因此,OpenSSL 实例无法检查非CA 证书不能是其他证书的发布者,因此攻击者可以利用这个漏洞来进行证书绕过。

总结

这两个漏洞都不影响OpenSSL 1.0.2版本,新发布的OpenSSL 1.1.1k版本修复了这两个漏洞,研究人员建议用户尽快进行升级更新,以保护其OpenSSL实例。

更多参见OpenSSL安全公告:https://www.openssl.org/news/vulnerabilities.html

本文翻译自:https://www.bleepingcomputer.com/news/security/openssl-fixes-severe-dos-certificate-validation-vulnerabilities/如若转载,请注明原文地址:


文章来源: https://www.4hou.com/posts/ZvX8
如有侵权请联系:admin#unsafe.sh