OpenSSL 3.0.0 < 3.0.3 多种漏洞

critical Nessus 插件 ID 160473

简介

远程服务受到多个漏洞的影响。

描述

远程主机上安装的 OpenSSL 版本低于 3.0.3。因此,如公告 3.0.3 所述,该主机受到多个漏洞的影响。

- 用于清空哈希表的 OPENSSL_LH_flush() 函数包含一个缺陷,该缺陷会破坏被删除的哈希表条目占用的内存的重用。解码证书或密钥时使用此函数。如果长期限进程定期解码证书或密钥,其内存使用量将无限制地扩展,并且该进程可能被操作系统终止,从而导致拒绝服务。
遍历空哈希表条目也将花费越来越多的时间。通常,此类长期限进程可能是配置为接受客户端证书认证的 TLS 客户端或 TLS 服务器。OpenSSL 3.0 版本中添加了该函数,因此较早的版本不受此问题的影响。已在 OpenSSL 3.0.3 中修复(影响 3.0.0、3.0.1、3.0.2)。(CVE-2022-1473)

- RC4-MD5 加密套件的 OpenSSL 3.0 实现错误地将 AAD 数据用作 MAC 密钥。
这使得 MAC 密钥可轻松预测。攻击者可通过执行中间人攻击来利用此问题,从而修改从一个端点发送到 OpenSSL 3.0 接收方的数据,以便修改后的数据仍可通过 MAC 完整性检查。请注意,从 OpenSSL 3.0 端点发送到非 OpenSSL 3.0 端点的数据将始终被接收方拒绝,并且连接将在此时失败。许多应用程序协议要求首先将数据从客户端发送到服务器。
因此,在这种情况下,与非 OpenSSL 3.0 客户端通信时,只有 OpenSSL 3.0 服务器会受到影响。如果两个端点均为 OpenSSL 3.0 ,则攻击者可修改双向发送的数据。在这种情况下,无论应用程序协议如何,客户端和服务器都可能受到影响。请注意,如果没有攻击者,此缺陷意味着使用此加密套件时,与非 OpenSSL 3.0 端点通信的 OpenSSL 3.0 端点将无法完成握手。数据的机密性不受此问题的影响,即攻击者无法解密已使用此加密套件加密的数据 - 他们只能对其进行修改。为使此攻击起作用,两个端点必须合法协商 RC4-MD5 加密套件。OpenSSL 3.0 中默认不编译此加密套件,且在默认提供程序或默认加密套件列表中不可用。如果已协商 TLSv1.3,则永远不会使用此加密套件。必须满足以下条件才能使 OpenSSL 3.0 端点使用此加密套件:1) OpenSSL 必须已使用(非默认)编译时选项 enable-weak-ssl-ciphers 进行编译 2) OpenSSL 必须已显式加载(通过应用程序代码或通过配置)旧提供程序 3) 加密套件必须已明确添加到加密套件列表 4) 必须将 libssl 安全级别设置为 0(默认为 1) 5) 必须协商低于 TLSv1.3 的 SSL/TLS 版本 6) 两个端点必须优先协商 RC4-MD5 加密套件,而不是两个端点共同拥有的任何其他加密套件;已在 OpenSSL 3.0.3 中修复(影响 3.0.0、3.0.1、3.0.2)。(CVE-2022-1434)

- 函数 `OCSP_basic_verify` 验证 OCSP 响应中的签名者证书。在使用(非默认)标记 OCSP_NOCHECKS 的情况下,即使在响应签名证书验证失败的情况下,响应也将是肯定的(意味着验证成功)。预计 `OCSP_basic_verify` 的大多数用户将不会使用 OCSP_NOCHECKS 标记。在这种情况下,`OCSP_basic_verify` 函数将在证书验证失败时返回一个负值(表示一个致命错误)。在这种情况下,正常的预期返回值为 0。此问题也会影响命令行 OpenSSL ocsp 应用程序。当使用 -no_cert_checks 选项
验证 ocsp 响应时,命令行应用程序将报告验证成功,即使它实际上已失败。在这种情况下,不正确的成功响应也会伴随显示失败的错误消息,并与表面上的成功结果相矛盾。已在 OpenSSL 3.0.3 中修复(影响 3.0.0、3.0.1、3.0.2)。(CVE-2022-1343)

- c_rehash 脚本未正确审查 shell 元字符以防止命令注入。某些操作系统以自动执行的方式分发此脚本。在此类操作系统中,攻击者可以使用脚本的权限执行任意命令。使用 c_rehash 脚本被视为过时,应由 OpenSSL rehash 命令行工具取代。
已在 OpenSSL 3.0.3 中修复(影响 3.0.0、3.0.1、3.0.2)。已在 OpenSSL 1.1.1o 中修复(影响 1.1.1-1.1.1n)。
已在 OpenSSL 1.0.2ze 中修复(影响 1.0.2-1.0.2zd)。(CVE-2022-1292)

请注意,Nessus 尚未测试这些问题,而是只依靠应用程序自我报告的版本号来判断。

解决方案

升级到 OpenSSL 版本 3.0.3 或更高版本。

另见

https://www.openssl.org/news/secadv/20220503.txt

https://cve.org/CVERecord?id=CVE-2022-1292

https://cve.org/CVERecord?id=CVE-2022-1473

https://cve.org/CVERecord?id=CVE-2022-1434

https://cve.org/CVERecord?id=CVE-2022-1343

http://www.nessus.org/u?9131c964

http://www.nessus.org/u?14b3b0bd

http://www.nessus.org/u?ee860149

http://www.nessus.org/u?2d2d6fcb

插件详情

严重性: Critical

ID: 160473

文件名: openssl_3_0_3.nasl

版本: 1.11

类型: combined

代理: windows, macosx, unix

系列: Web Servers

发布时间: 2022/5/3

最近更新时间: 2024/1/8

支持的传感器: Nessus Agent, Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 8.3

矢量: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C

CVSS 分数来源: CVE-2022-1292

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 9.1

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

时间矢量: CVSS:3.0/E:F/RL:O/RC:C

漏洞信息

CPE: cpe:/a:openssl:openssl

必需的 KB 项: installed_sw/OpenSSL

可利用: true

易利用性: Exploits are available

补丁发布日期: 2022/5/3

漏洞发布日期: 2022/5/3

参考资料信息

CVE: CVE-2022-1292, CVE-2022-1343, CVE-2022-1434, CVE-2022-1473

IAVA: 2022-A-0186-S