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

安全
OpenSSL 是一个常用的软件库,用于构建需要建立安全通信的网络应用和服务器。近日,OpenSSL 项目针对潜伏在 OpenSSL 产品中的两个高危漏洞 CVE-2021-3449 和 CVE-2021-3450 发布了公告。

OpenSSL 是一个常用的软件库,用于构建需要建立安全通信的网络应用和服务器。近日,OpenSSL 项目针对潜伏在 OpenSSL 产品中的两个高危漏洞 CVE-2021-3449 和 CVE-2021-3450 发布了公告。

[[390245]]

这两个漏洞包括:

  • 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 设置为 0 即可。

该漏洞由诺基亚的工程师 Peter Kä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 版本开始增加了一项检查,以禁止在链中显式编码 elliptic curve 参数的证书,这是附加的严格检查。但是,这项检查的实现中出现了一个错误,意味着之前确认链中证书是有效 CA 证书的检查结果被覆盖了"。

目前上述这两个漏洞都不会影响 OpenSSL 1.0.2,并且这两个漏洞都在 OpenSSL 1.1.1k 中得到了修复,官方建议用户升级到这个版本以保护他们的实例。

本文转自OSCHINA

本文标题:OpenSSL 修复了严重的 DoS 和证书验证漏洞

本文地址:https://www.oschina.net/news/134860/openssl-fixes-severe-dos-vulnerabilities

 

责任编辑:未丽燕 来源: 开源中国
相关推荐

2021-03-31 11:29:12

OpenSSLDoS证书验证漏洞

2023-06-21 11:19:21

2009-02-09 09:35:20

2010-12-16 10:56:23

2009-12-11 10:05:11

2023-12-08 13:18:27

2014-04-09 17:40:00

2013-10-28 11:13:47

2015-07-13 09:18:20

2021-08-26 12:32:50

OpenSSL漏洞攻击

2012-12-21 17:11:22

2010-10-25 13:51:33

2009-10-15 10:08:28

2014-04-09 10:27:29

2014-06-06 12:56:16

2020-05-14 18:50:35

Chrome漏洞浏览器

2016-01-24 23:00:21

2009-04-27 23:45:07

2014-06-03 10:14:06

2017-05-04 23:26:26

点赞
收藏

51CTO技术栈公众号