OpenSSL修复了严重的DoS,证书验证漏洞

今天,OpenSSL项目已经发布了针对隐藏在OpenSSL产品中的两个高严重性漏洞CVE-2021-3449和CVE-2021-3450的咨询。

OpenSSL是用于构建需要建立安全通信的网络应用程序和服务器的常用软件库。

这些缺陷包括:

  • CVE-2021-3449:由于NULL指针取消引用而导致的拒绝服务(DoS)漏洞仅影响OpenSSL服务器实例,而不影响客户端。
  • CVE-2021-3450:一个不正确的证书颁发机构(CA)证书验证漏洞,它同时影响服务器和客户端实例。

一站式修复的DoS漏洞

如果在重新协商过程中客户端发送恶意的ClientHello 消息,则OpenSSL TLS服务器中的DoS漏洞(CVE-2021-3449)可能导致服务器崩溃 。

“如果TLSv1.2重新协商ClientHello省略了signature_algorithms扩展名(在最初的ClientHello中存在),但是包括了signature_algorithms_cert扩展名,则将导致NULL指针取消引用,从而导致崩溃和拒绝服务攻击。” 

该漏洞仅影响运行1.1.1和1.1.1j(包括两者)的版本同时启用了TLSv1.2和重新协商的OpenSSL服务器 。

但是,由于这是这些OpenSSL服务器版本上的默认配置,因此许多活动服务器可能容易受到攻击。OpenSSL客户端不受影响。

幸运的是,修复此DoS错误所需的全部是单线修复,其中包括将peer_sigalgslen设置 为零。

CVE-2021-3449的一线修复
导致DOS的NULL指针问题的一线修复,CVE-2021-3449
来源:GitHub

该漏洞是由诺基亚的工程师PeterKästle和Samuel Sapalski发现的,他们也提供了上述修复程序

非CA证​​书无法 颁发 证书!

证书颁发机构(CA)证书验证绕过漏洞CVE-2021-3450与X509_V_FLAG_X509_STRICT 标志有关。

OpenSSL使用此标志来禁止对损坏的证书使用替代方法,并严格要求根据X509规则对证书进行验证。

但是,由于存在回归错误,OpenSSL 1.1.1h及更高版本(但不包括固定版本1.1.1k)受此漏洞的影响,因为在这些版本中默认未设置此标志。

“从OpenSSL版本1.1.1h开始,添加了一项检查以禁止在链中显式编码椭圆曲线参数的证书,这是附加的严格检查。”

该通报指出:“执行此检查时出错,这意味着先前检查的结果已被覆盖,以确认链中的证书为有效的CA证书。”

实际上,这意味着OpenSSL实例无法检查非CA证书一定不是其他证书的颁发者,因此为攻击者提供了利用此未命中的可能性。

2021年3月18日,Akamai的Benjamin Kaduk向OpenSSL项目报告了此缺陷。

该漏洞由Akamai的项鼎和其他人发现, 并由TomášMráz开发了一个修复程序

这两个漏洞均不会影响OpenSSL 1.0.2。

这两个漏洞都已在OpenSSL  1.1.1k中修复,建议用户升级到此版本以保护其实例。

正如BleepingComputer报道的那样,DHS-CISA已于2020年12月敦促系统管理员修补另一个OpenSSL DoS漏洞

因此,用户应通过及时更新来保护自己免受诸如此类的安全漏洞的侵害。

*编译:Domino

*来自:bleepingcomputer