当前位置: 首页 > 科技观察

OpenSSL爆发严重的DoS和证书验证漏洞

时间:2023-03-15 18:39:53 科技观察

OpenSSL是一个功能丰富且独立的开源安全工具箱。它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(symmetric/asymmetric/digest)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书Request(PKCS10)编解码、数字证书编解码、CRL编解码、OCSP协议、数字证书校验、PKCS7标准实现和PKCS12个人数字证书格式实现等功能。OpenSSL使用C语言作为开发语言,这使得它具有优秀的跨平台性能。OpenSSL支持Linux、UNIX、windows、Mac等平台。3月25日,OpenSSL发布安全公告,称在1.1.1k更新版本中修复了两个高危安全漏洞:CVE-2021-3449和CVE-2021-3450。CVE-2021-3449:该漏洞为空指针解引用导致的DoS漏洞,但该漏洞仅影响OpenSSL服务器实例,不影响客户端。CVE-2021-3450:此漏洞是一个不正确的CA证书验证漏洞,会同时影响服务器和客户端实例。CVE-2021-3449在重新协商过程中,客户端可以通过发送恶意ClientHello消息触发该漏洞,导致服务器崩溃。如果TLSv1.2的重协商ClientHello忽略了signature_algorithms扩展,但包含了signature_algorithms_cert扩展,那么空指针解引用会导致崩溃和DoS攻击。该漏洞影响启用了TLSv1.2和重新协商的OpenSSL版本1.1.1到1.1.1j。该漏洞不影响OpenSSL客户端。由于TLSv1.2和重新协商是OpenSSL服务器的默认配置,因此许多服务器都受到此漏洞的影响。修复这个DoS漏洞只需要一行代码,具体就是将peer_sigalgslen设置为0。CVE-2021-3449补丁CVE-2021-3450CVE-2021-3450漏洞是CA证书验证绕过漏洞,与X509_V_FLAG_X509_STRICT标志相关。OpenSSL使用此标志来禁用损坏的证书流并要求证书通过X509规则进行验证。但是,由于回归错误,OpenSSLv1.1.1h及更高版本受此漏洞影响。幸运的是,在这些版本中默认情况下未设置此标志。从OpenSSLv1.1.1h开始,对编码的椭圆曲线参数执行额外的严格检查。但是在执行校验时出现错误,导致之前的确认链证书校验结果为有效的CA证书,之前被覆盖了。因此,OpenSSL实例无法检查非CA证书不能是其他证书的颁发者,因此攻击者可以利用该漏洞进行证书绕过。综上所述,这两个漏洞均不影响OpenSSL1.0.2版本。新发布的OpenSSL1.1.1k版本修复了这两个漏洞。研究人员建议用户尽快升级和更新以保护他们的OpenSSL实例。更多信息参见OpenSSL安全公告:https://www.openssl.org/news/vulnerabilities.html本文翻译自:https://www.bleepingcomputer.com/news/security/openssl-fixes-severe-dos-certificate-validation-vulnerabilities/如有转载请注明出处。