Amazon Linux 2:openssl-snapsafe (ALASOPENSSL-SNAPSAFE-2023-002)

critical Nessus 插件 ID 182040

简介

远程 Amazon Linux 2 主机缺少安全更新。

描述

远程主机上安装的 openssl-snapsafe 版本低于 1.0.2k-24。因此,它受到 ALAS2OPENSSL-SNAPSAFE-2023-002 公告中提及的多个漏洞影响。

- OpenSSL RSA 解密实现中存在一个基于时序的边信道,足以用于在 Bleichenbacher 式攻击中跨网络恢复明文。若要成功解密,攻击者必须能够发送大量的测试消息进行解密。
此漏洞会影响所有 RSA 填充模式:PKCS#1 v1.5、RSA-OEAP 和 RSASVE。例如,在 TLS 连接中,客户端通常会使用 RSA 向服务器发送经过加密的预主密钥。如果攻击者能够发现客户端与服务器之间的真正连接,则可向服务器发送测试消息并记录消息处理用时。在发送足够多的消息后,攻击者可恢复用于原始连接的预主密钥,进而解密通过该连接发送的应用程序数据。(CVE-2022-4304)

- 公共 API 函数 BIO_new_NDEF 是辅助函数,用于通过 BIO 对 ASN.1 数据作流式处理。该函数主要在 OpenSSL 内部用于为 SMIME、CMS 和 PKCS7 提供流式传输功能支持,但也可能由最终用户应用程序直接调用。该函数从调用程序接收 BIO,在其前面附加一个新的 BIO_f_asn1 filter BIO 以形成 BIO 链,然后将 BIO 链的新标头返回给调用程序。在某些情况下(例如 CMS Recipient 公钥无效时),新的 filter BIO 将被释放,而该函数则会返回表示失败的 NULL 结果。但是,在这种情况下,由于 BIO 链未正确清理,所以调用程序传递的 BIO 仍会保留指向之前已释放的 filter BIO 的内部指针。如果调用程序随后继续调用 BIO 上的 BIO_pop(),则会发生释放后使用。这很有可能会导致崩溃。这种情况直接发生在内部函数 B64_write_ASN1() 中,不仅可能导致 BIO_new_NDEF() 被调用,还会导致 BIO 上的 BIO_pop() 在随后被调用。此内部函数依次由公共 API 函数 PEM_write_bio_ASN1_stream、PEM_write_bio_CMS_stream、PEM_write_bio_PKCS7_stream、SMIME_write_ASN1、SMIME_write_CMS 和 SMIME_write_PKCS7 调用。可能受到此问题影响的其他公共 API 函数包括 i2d_ASN1_bio_stream、BIO_new_CMS、BIO_new_PKCS7、i2d_CMS_bio_stream 和 i2d_PKCS7_bio_stream。OpenSSL CMS 和 S/MIME 命令行应用程序同样会受到影响。(CVE-2023-0215)

- 存在一个与 X.509 GeneralName 内的 X.400 地址处理相关的类型混淆漏洞。
X.400 地址被解析为 ASN1_STRING,但 GENERAL_NAME 的公共结构定义错误地将 x400Address 字段的类型指定为 ASN1_TYPE。随后,按照 OpenSSL 函数 GENERAL_NAME_cmp 的解读,此字段应为 ASN1_TYPE 而不是 ASN1_STRING。CRL 检查启用(即应用程序设置 X509_V_FLAG_CRL_CHECK 标记)后,攻击者利用此漏洞可向 memcmp 调用传递任意指针,让指针能够读取内存内容或引起拒绝服务。在大多数情况下,攻击者需要同时提供证书链和 CRL 才能发起攻击,而这两者都不需要具有有效的签名。如果攻击者仅控制其中一个输入,则另一个输入必须已包含作为 CRL 分发点的 X.400 地址,但这种情况并不常见。因此,此漏洞最有可能只影响本身已实现通过网络检索 CRL 功能的应用程序。(CVE-2023-0286)

- 在所有受支持的 OpenSSL 版本中发现一个与验证包含策略限制条件的 X.509 证书链相关的安全漏洞。攻击者可能通过创建触发指数级计算资源使用的恶意证书链来会利用此漏洞,进而对受影响的系统发起拒绝服务 (DoS) 攻击。策略处理默认处于禁用状态,但可以通过将 -policy 参数传递给命令行实用工具或者调用 X509_VERIFY_PARAM_set1_policies() 函数来启用。(CVE-2023-0464)

- 验证证书时使用非默认选项的应用程序可能容易受到恶意 CA 的攻击,从而规避某些检查。OpenSSL 以静默的方式忽略叶证书中的无效证书策略,并跳过该证书的其他证书策略检查。恶意 CA 可利用此缺陷故意断言证书策略无效,从而完全避开对证书的策略检查。策略处理默认处于禁用状态,但可以通过将 -policy 参数传递给命令行实用工具或者调用 X509_VERIFY_PARAM_set1_policies() 函数来启用。(CVE-2023-0465)

- 经记载,函数 X509_VERIFY_PARAM_add0_policy() 在执行证书验证时会隐式启用证书策略检查。但是,该函数的实现并未启用允许包含无效或不正确策略的证书通过证书验证的检查。
由于突然启用策略检查可能会中断现有部署,因此决定保留 X509_VERIFY_PARAM_add0_policy() 函数的现有行为。相反,需要 OpenSSL 执行证书策略检查的应用程序需要使用 X509_VERIFY_PARAM_set1_policies() 或通过使用 X509_V_FLAG_POLICY_CHECK 标记参数调用 X509_VERIFY_PARAM_set_flags() 来显式启用策略检查。
证书策略检查在 OpenSSL 中默认禁用,而在应用程序则不常用。
(CVE-2023-0466)

- 问题摘要:处理某些特制的 ASN.1 对象标识符或包含这些标识符的数据可能会非常缓慢。影响汇总:对于直接使用 OBJ_obj2txt() 或使用无消息大小限制的任何 OpenSSL 子系统 OCSP、PKCS7/SMIME、CMS、CMP/CRMF 或 TS 的应用程序,它们在处理这些消息时可能会遇到明显的延迟,这可能会导致拒绝服务。OBJECT IDENTIFIER 由一系列数字(子标识符)组成,其中大部分没有大小限制。
OBJ_obj2txt() 可用于将以 DER 编码形式(使用 OpenSSL 类型 ASN1_OBJECT)提供的 ASN.1 OBJECT IDENTIFIER 转换为其规范的数值文本形式,即十进制形式的 OBJECT IDENTIFIER 的子标识符,并以句点分隔。当 OBJECT IDENTIFIER 中的一个子标识符非常大时(即大得不可思议,占用了数十或数百 KiB),在文本中转换为十进制数字可能需要很长时间。时间复杂度为 O(n^2),其中“n”为以字节为单位的子标识符 (*)。OpenSSL 3.0 版引入了对使用字符串形式的名称/标识符提取加密算法的支持。这包括使用规范数字文本形式的 OBJECT IDENTIFIER 作为提取算法的标识符。可通过 ASN.1 结构 AlgorithmIdentifier 接收此类 OBJECT IDENTIFIER,该结构通常用于多种协议中,以指定应使用什么加密算法来签署或验证、加密或解密或摘要传递的数据。直接使用不受信任的数据调用 OBJ_obj2txt() 的应用程序会受到任何 OpenSSL 版本的影响。如果仅用于显示目的,则严重性是低危。在 OpenSSL 3.0 和更新版本中,该问题会影响子系统 OCSP、PKCS7/SMIME、CMS、CMP/CRMF 或 TS。它还会影响处理 X.509 证书的任何内容,包括验证其签名等简单内容。但该问题对 TLS 的影响相对较小,因为 OpenSSL 的所有版本对对等机的证书链都有 100KiB 的限制。此外,这仅影响已明确启用客户端认证的客户端或服务器。在 OpenSSL 1.1.1 和 1.0.2 版中,这仅影响显示不同的对象,例如 X.509 证书。我们假设此问题不会以造成拒绝服务的方式发生,因此这些版本被视为不受此问题的影响,不会引起关注,因此严重性为低危。(CVE-2023-2650)

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

解决方案

运行“yum update openssl-snapsafe”以更新系统。

另见

https://alas.aws.amazon.com/AL2/ALASOPENSSL-SNAPSAFE-2023-002.html

https://alas.aws.amazon.com/cve/html/CVE-2022-4304.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0215.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0286.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0464.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0465.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0466.html

https://alas.aws.amazon.com/cve/html/CVE-2023-2650.html

https://alas.aws.amazon.com/faqs.html

插件详情

严重性: Critical

ID: 182040

文件名: al2_ALASOPENSSL-SNAPSAFE-2023-002.nasl

版本: 1.1

类型: local

代理: unix

发布时间: 2023/9/27

最近更新时间: 2024/12/11

支持的传感器: Agentless Assessment, Continuous Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Nessus

风险信息

VPR

风险因素: Medium

分数: 5.2

CVSS v2

风险因素: High

基本分数: 7.1

时间分数: 5.3

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

CVSS 分数来源: CVE-2023-0286

CVSS v3

风险因素: High

基本分数: 7.4

时间分数: 6.4

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

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

CVSS v4

风险因素: Critical

Base Score: 9.3

Threat Score: 8.1

Threat Vector: CVSS:4.0/E:U

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

CVSS 分数来源: CVE-2023-2650

漏洞信息

CPE: cpe:/o:amazon:linux:2, p-cpe:/a:amazon:linux:openssl-snapsafe-devel, p-cpe:/a:amazon:linux:openssl-snapsafe, p-cpe:/a:amazon:linux:openssl-snapsafe-static, p-cpe:/a:amazon:linux:openssl-snapsafe-perl, p-cpe:/a:amazon:linux:openssl-snapsafe-debuginfo, p-cpe:/a:amazon:linux:openssl-snapsafe-libs

必需的 KB 项: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

易利用性: No known exploits are available

补丁发布日期: 2023/7/17

漏洞发布日期: 2022/12/15

参考资料信息

CVE: CVE-2022-4304, CVE-2023-0215, CVE-2023-0286, CVE-2023-0464, CVE-2023-0465, CVE-2023-0466, CVE-2023-2650