Nutanix AOS:多个漏洞 (NXSA-AOS-6.5.6.6)

critical Nessus 插件 ID 206674

简介

Nutanix AOS 主机受到多个漏洞影响。

描述

远程主机上安装的 AOS 版本低于 6.5.6.6。因此,该主机受到 NXSA-AOS-6.5.6.6 公告中提及的多个漏洞影响。

- ASN.1 字符串在 OpenSSL 内表示为 ASN1_STRING 结构,该结构包含一个保存字符串数据的缓冲区和一个保存缓冲区长度的字段。此字符串与普通 C 字符串形成对比,后者表示为字符串数据的缓冲区,以 NUL(0) 字节结束。虽然不是严格要求,但使用 OpenSSL 的独有 d2i 函数(及其他类似解析函数)解析的 ASN.1 字符串,以及使用 ASN1_STRING_set() 函数设定值的任何字符串,都将额外使用 NUL 方式终止 ASN1_STRING 结构中的字节数组。但是,应用程序可能会直接构建有效的 ASN1_STRING 结构,该结构不会直接在 ASN1_STRING 数组中设置数据和长度字段,进而使用 NUL 终止字节数组。这种情况也会因使用 ASN1_STRING_set0() 函数发生。已经发现,打印 ASN.1 数据的多个 OpenSSL 函数均假设 ASN1_STRING 字节数组将使用 NUL 终止,但无法保证直接构建的字符串亦是如此。当应用程序请求打印 ASN.1 结构时,并且 ASN.1 结构包含由应用程序直接构建但并非使用 NUL 终止的 ASN1_STRING 时,将会出现读取缓冲区溢出。同样的情况也会在处理证书的名称限制期间出现(例如,证书直接由应用程序构建,而非通过 OpenSSL 解析函数加载,以及证书包含非 NUL 终止的 ASN1_STRING 结构)。这种情况也会出现在 X509_get1_email()、X509_REQ_get1_email() 和 X509_get1_ocsp() 函数中。如果恶意执行者使应用程序直接构建 ASN1_STRING,然后通过某个受影响的 OpenSSL 函数处理该字符串,此问题也会出现。此问题可能会导致崩溃(导致拒绝服务攻击)。
该问题还可能导致私有内存内容(例如私钥或敏感纯文本)泄露。已在 OpenSSL 1.1.1l 中修复(影响 1.1.1-1.1.1k)。已在 OpenSSL 1.0.2za (Affected 1.0.2-1.0.2y) 中修复。(CVE-2021-3712)

- 存在一个与 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)

- X.509 GeneralName 类型是表示不同名称类型的泛型类型。在这些名称类型中,有一种被称为 EDIPartyName。OpenSSL 提供函数 GENERAL_NAME_cmp,用于比较 GENERAL_NAME 的不同实例,以判断它们是否相等。当两个 GENERAL_NAME 都包含 EDIPARTYNAME 时,此函数的行为不正确。可能会发生空指针取消引用和崩溃,从而可能导致拒绝服务攻击。OpenSSL 本身将 GENERAL_NAME_cmp 函数用于两个目的:1) 比较可用 CRL 和 X509 证书中嵌入的 CRL 分发点之间的 CRL 分发点名称;2) 当验证时间戳记响应令牌签名者与时间戳授权名称是否匹配时(通过 API 函数 TS_RESP_verify_response 和 TS_RESP_verify_token 暴露),如果攻击者可以控制正在比较的两个项目,则攻击者可能会导致崩溃。例如,如果攻击者可以诱骗客户端或服务器,使其针对恶意 CRL 检查恶意证书,就有可能会发生这种情况。请注意,某些应用程序根据证书中嵌入的 URL 自动下载 CRL。此检查发生在验证证书和 CRL 上的签名之前。
OpenSSL 的 s_server、s_client 和验证工具支持实现自动 CRL 下载的 -crl_download 选项,且已证实此攻击对这些工具有效。请注意,一个不相关的缺陷意味着受影响的 OpenSSL 版本无法解析或构建 EDIPARTYNAME 的正确编码。但是,可以构造 OpenSSL 的解析器会接受的畸形 EDIPARTYNAME,从而触发此攻击。所有 OpenSSL 1.1.1 和 1.0.2 版本都受此问题影响。
其他 OpenSSL 版本不受支持并且未经检查。已在 OpenSSL 1.1.1i 中修复(影响 1.1.1-1.1.1h)。已在 OpenSSL 1.0.2x 中修复(影响 1.0.2-1.0.2w)。(CVE-2020-1971)

- 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)

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

解决方案

将 Nutanix AOS 软件更新为建议的版本。升级之前:如果此群集已在 Prism Central 注册,请确保 Prism Central 已升级到兼容版本。请参阅 Nutanix 门户上的软件产品互操作性页面。

另见

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

插件详情

严重性: Critical

ID: 206674

文件名: nutanix_NXSA-AOS-6_5_6_6.nasl

版本: 1.8

类型: local

系列: Misc.

发布时间: 2024/9/5

最近更新时间: 2025/2/17

支持的传感器: Nessus

风险信息

VPR

风险因素: High

分数: 7.3

CVSS v2

风险因素: Medium

基本分数: 5.8

时间分数: 4.5

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

CVSS 分数来源: CVE-2021-3712

CVSS v3

风险因素: High

基本分数: 7.4

时间分数: 6.7

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

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

CVSS 分数来源: CVE-2023-0286

CVSS v4

风险因素: Critical

Base Score: 9.3

Threat Score: 8.9

Threat Vector: CVSS:4.0/E:P

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-0286

漏洞信息

CPE: cpe:/o:nutanix:aos

必需的 KB 项: Host/Nutanix/Data/lts, Host/Nutanix/Data/Service, Host/Nutanix/Data/Version, Host/Nutanix/Data/arch

可利用: true

易利用性: Exploits are available

补丁发布日期: 2024/9/5

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

参考资料信息

CVE: CVE-2020-1971, CVE-2021-3712, CVE-2022-0778, CVE-2022-4304, CVE-2023-0215, CVE-2023-0286, CVE-2024-32487