Nutanix AHV:多个漏洞 (NXSA-AHV-20230302.207)

critical Nessus 插件 ID 180469

简介

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

描述

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

- 在 2.4.3 之前版本的 Expat(也称为 libexpat)的 xmlparse.c 的 storeAtts 函数中左移 29 个(或更多)位置,可导致 realloc 出现不当行为(例如,分配的字节过少或仅释放内存)。
(CVE-2021-45960)

- 2.4.3 之前版本的 Expat(也称为 libexpat)的 xmlparse.c 的 doProlog 中,存在 m_groupSize 整数溢出漏洞。(CVE-2021-46143)

- 2.4.3 之前版本的 Expat(也称为 libexpat)的 xmlparse.c 的 addBinding 中,存在整数溢出漏洞。(CVE-2022-22822)

- 2.4.3 之前版本的 Expat(也称为 libexpat)的 xmlparse.c 的 build_model 中,存在整数溢出漏洞。(CVE-2022-22823)

- 2.4.3 之前版本的 Expat(也称为 libexpat)的 xmlparse.c 的 defineAttribute 中,存在整数溢出漏洞。
(CVE-2022-22824)

- 2.4.3 之前版本的 Expat(也称为 libexpat)的 xmlparse.c 的 lookup 中,存在整数溢出漏洞。(CVE-2022-22825)

- 2.4.3 之前版本的 Expat(也称为 libexpat)的 xmlparse.c 的 nextScaffoldPart 中,存在整数溢出漏洞。
(CVE-2022-22826)

- 2.4.3 之前版本的 Expat(也称为 libexpat)的 xmlparse.c 的 storeAtts 中,存在整数溢出漏洞。(CVE-2022-22827)

- Expat(也称为 libexpat)2.4.4 之前版本的 XML_GetBuffer(含非零 XML_CONTEXT_BYTES 配置)中存在一个带符号整数溢出漏洞。(CVE-2022-23852)

- Expat(即 libexpat)2.4.5 之前版本中的 xmltok_impl.c 缺少特定的编码验证处理,例如检查 UTF-8 字符在特定上下文中是否有效。(CVE-2022-25235)

- Expat(即 libexpat)2.4.5 之前版本中的 xmlparse.c 允许攻击者将命名空间分隔符字符插入命名空间 URI。(CVE-2022-25236)

- Expat(即 libexpat 2.4.5 之前版本的 storeRawNames 中存在一个整数溢出漏洞。(CVE-2022-25315)

- 在 GNU gzip 的 zgrep 实用工具中发现一个任意文件写入漏洞。对攻击者选择的文件名(例如,特制的文件名)应用 zgrep 时,可将攻击者的内容改写为攻击者选择的任意文件。发生此缺陷的原因是,当处理包含两个或更多换行符的文件名时,其中所选内容和目标文件名嵌入在构建的多行文件名中,验证不充分。此缺陷允许远程低权限攻击者强制 zgrep 在系统上写入任意文件。 (CVE-2022-1271)

- 如果攻击者控制 HTTP 请求方法,则 Python 3.5.10 之前的 3.x、3.6.12 之前的 3.6.x、3.7.9 之前的 3.7.x 以及 3.8.5 之前的 3.8.x 中的 http.client 会允许 CRLF 注入,这一点已通过在 HTTPConnection.request 的第一个参数中插入 CR 和 LF 控制字符证实。(CVE-2020-26116)

- 如果攻击者控制 HTTP 请求方法,则 1.25.9 之前版本的 urllib3 会允许 CRLF 注入,这一点已通过在 putrequest() 的第一个参数中插入 CR 和 LF 控制字符证实。注意:此问题类似于 CVE-2020-26116。(CVE-2020-26137)

- Python 3.9.1 及之前的 3.x 版本可能受到 _ctypes/callproc.c 内的 PyCArg_repr 中缓冲区溢出的影响,这可导致在某些将浮点数接受为不受信任输入的 Python 应用程序中远程执行代码,c_double.from_param 的 1e300 参数即为一例。这是未安全使用 sprintf 所致。(CVE-2021-3177)

- 在 3.2.5 之前的 rsync 中发现一个问题,该问题允许恶意远程服务器在连接的对等机目录内写入任意文件。服务器会选择将哪些文件/目录发送到客户端,但是,rsync 客户端未充分验证文件名。恶意 rsync 服务器(或中间人攻击者)可覆盖 rsync 客户端目标目录和子目录中的任意文件(例如覆盖 .ssh/authorized_keys 文件)。(CVE-2022-29154)

- 用于计算模平方根的 BN_mod_sqrt() 函数中包含一个缺陷,可导致其无限循环非质数模数。当在内部解析包含压缩形式的椭圆曲线公钥或具有以压缩形式编码的基点的显式椭圆曲线参数时,将会使用此函数。可以通过构建具有无效显式曲线参数的证书来触发无限循环。由于证书解析发生在证书签名验证之前,因此任何解析外部所提供证书的进程都可能遭受拒绝服务攻击。解析构建的私钥时也可能发生无限循环,因为其中可能包含显式椭圆曲线参数。因此,易受攻击的情况包括:- TLS 客户端使用服务器证书 - TLS 服务器使用客户端证书 - 从客户处获取证书或私钥的主机托管商 - 证书颁发机构解析用户的证书请求 - 解析 ASN.1 椭圆曲线参数以及使用 BN_mod_sqrt( ) 的任何其他应用程序,其中攻击者可控制易受此 DoS 问题影响的参数值。OpenSSL 1.0.2 版本在初始解析证书期间未解析公钥,这就使得触发无限循环变得稍难一些。但是,任何需要证书公钥的操作都将触发无限循环。特别是在证书签名验证期间,攻击者可使用自签名证书触发循环。OpenSSL 版本 1.0.2、1.1.1 和 3.0 会受此问题影响。2022 年 3 月 15 日发布的 1.1.1n 和 3.0.2 版本已解决此问题。已在 OpenSSL 3.0.2 中修复(影响 3.0.0、3.0.1)。已在 OpenSSL 1.1.1n 中修复(影响 1.1.1-1.1.1m)。已在 OpenSSL 1.0.2zd 中修复(影响 1.0.2-1.0.2zc)。(CVE-2022-0778)

- 在版本低于 3003.3 的 SaltStack Salt 中发现了一个问题。控制源代码和 source_hash URL 的用户可以 root 用户身份获取对 Salt minion 的文件系统完全访问权限。(CVE-2021-21996)

- 在某些与微架构相关的条件下,错误训练的返回指令分支预测可能允许任意推测代码执行。(CVE-2022-29900)

- 第 6 至 8 代 Intel 微处理器受到一个新 Spectre 变体的影响,它能够绕过内核中的 retpoline 缓解措施,泄漏任意数据。具有非特权用户访问权限的攻击者可劫持返回指令,从而在特定的微架构相关条件下执行任意推测代码。(CVE-2022-29901)

- 如果输入具有许多远程匹配项,则 zlib 1.2.12 之前版本会在压缩时造成内存损坏。(CVE-2018-25032)

- 在 systemd 中发现一个释放后使用漏洞。发生此问题的原因是“resolved-dns-stream.c”中的 on_stream_io() 函数和 dns_stream_complete() 函数未增加 DnsStream 对象的引用计数。因此,调用的其他函数和回调可取消引用 DNSStream 对象,从而在稍后使用引用时造成释放后使用问题。 (CVE-2022-2526)

- 在 libexpat 2.4.9 之前版本中,xmlparse.c 的 doContent 函数中存在释放后使用问题。(CVE-2022-40674)

- 攻击者可通过使用具有格式错误的 ECDSA 签名的响应来欺骗目标解析器,从而触发小型内存泄漏。这可能会逐渐消耗可用内存,直到 named 由于缺少资源而崩溃。(CVE-2022-38177)

- 攻击者可通过使用具有格式错误的 EdDSA 签名的响应来欺骗目标解析器,从而触发小型内存泄漏。这可能会逐渐消耗可用内存,直到 named 由于缺少资源而崩溃。(CVE-2022-38178)

- 在密码块链接 (CBC) 模式下使用块密码算法时,远程攻击者可利用以下产品中 SSH 协议内的错误处理,更轻松地通过未知矢量从 SSH 会话中的任意密码文本块恢复特定明文数据:(1) SSH Tectia Client and Server and Connector 4.0 到 4.4.11,5.0 到 5.2.4,以及 5.3 到 5.3.8;Client and Server and ConnectSecure 6.0 到 6.0.4;Server for Linux on IBM System z 6.0.4;Server for IBM z/OS 5.5.1 及更低版本,6.0.0 和 6.0.1;以及 Client 4.0-J 到 4.3.3-J 和 4.0-K 到 4.3.10-K;以及 (2) OpenSSH 4.7p1 以及可能其他版本。(CVE-2008-5161)

- 低于 65.5.1 的 Python Packaging Authority (PyPA) setuptools 允许远程攻击者通过构建的程序包或自定义 PackageIndex 页面中的 HTML 造成拒绝服务。package_index.py 中存在正则表达式拒绝服务 (ReDoS)。 (CVE-2022-40897)

- 1.6.3 之前的 Libksba 容易受到 CRL 签名解析器中整数溢出漏洞的影响。
(CVE-2022-47629)

- 1.34 及之前版本的 GNU Tar 存在一字节越界读取,会导致针对条件跳转使用未初始化的内存。尚未证实此漏洞是否可用于更改控制流。list.c 的 from_header 中发生此问题的原因在于 mtime 在 V7 存档文件中占了大约 11 个空白字符。
(CVE-2022-48303)

- 在基于链接的 HTTP 压缩算法且版本低于 v7.88.0 的 curl 中存在配置资源时无限制或节流的漏洞,这意味着服务器响应可被多次压缩,并且可能使用不同的算法。已针对此解压缩链中可接受的链接数量设置上限,但该上限基于每个标题设置,所以恶意服务器仅使用许多标头即可插入几乎无数量上限的压缩步骤。使用此类解压缩链可导致 malloc 炸弹,使 curl 最终消耗大量分配的堆内存,或尝试并返回内存不足错误。(CVE-2023-23916)

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

- 函数 PEM_read_bio_ex() 会读取 BIO 中的 PEM 文件,并解析和解码名称(例如,
CERTIFICATE)、任何标头数据和负载数据。如果函数成功完成上述操作,则会使用指向包含相关解码数据的缓冲区的指针填充 name_out、header 和 data 参数。
调用程序负责释放这些缓冲区。构建的 PEM 文件中可能不会含有负载数据。在这种情况下,PEM_read_bio_ex() 将返回故障代码,但会使用指向已完成释放的缓冲区的指针填充标头参数。如果调用程序也释放了此缓冲区,则会发生双重释放。这很有可能会导致崩溃。如果攻击者能够提供恶意 PEM 文件以进行解析,则可实现拒绝服务攻击。函数 PEM_read_bio() 和 PEM_read() 是对 PEM_read_bio_ex() 的简单封装,因此这两个函数也会直接受到影响。这些函数也会受到许多其他 OpenSSL 函数的间接调用,包括同样容易受到攻击的 PEM_X509_INFO_read_bio_ex() 和 SSL_CTX_use_serverinfo_file()。有时,在 OpenSSL 内部使用这些函数不易受到攻击,因为如果 PEM_read_bio_ex() 返回故障代码,调用程序便不会释放标头参数。这些位置包括 PEM_read_bio_TYPE() 函数以及 OpenSSL 3.0 中引入的解码器。OpenSSL asn1parse 命令行应用程序也会受到此问题的影响。(CVE-2022-4450)

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

- 在 python 中发现一个缺陷。在使用非二进制基底的具有二次时间复杂度的算法中,当使用 int(text) 时,系统可能需要 50 秒才能解析具有 100,000 位数的 int 字符串,需要 5 秒解析 1,000,000 位数的 int 字符串(二进制基数 2、4、8、16 和 32 的 float、decimal、int.from_bytes() 和 int() 不受影响)。此漏洞最大的威胁在于系统可用性。(CVE-2020-10735)

- Python 3.x 至 3.10 版在 lib/http/server.py 中有一个开放重定向漏洞,这是由未针对 URI 路径开头的多个 (/) 提供保护而引起的,可能会导致信息泄露。注意:第三方对此问题存在争议,因为 http.server.html 文档页面存在警告:不建议将 http.server 用于生产用途,而仅用于基本的安全检查。(CVE-2021-28861)

- 在低于 3.11.1 版的 Python 中发现一个问题 。处理 IDNA (RFC 3490) 解码器的某些输入时,一个路径中存在不必要的二次算法,因此向解码器显示的特别构建的过长名称可导致 CPU 拒绝服务。主机名通常由可能受到恶意执行者控制的远程服务器提供;在这种情况下,它们可在尝试使用攻击者提供的假想主机名的客户端上触发过度消耗 CPU。
例如,攻击负载可放置在具有状态代码 302 的 HTTP 响应的 Location 标头中。计划在 3.11.1、 3.10.9、 3.9.16、 3.8.16 和 3.7.16 版中进行修复。(CVE-2022-45061)

- 在 systemd 中发现一个漏洞。由于 systemd-coredump 不符合 fs.suid_dumpable 内核设置,因此此安全缺陷可导致本地信息泄漏。(CVE-2022-4415)

- 据发现,在 GnuTLS 中处理 RSA ClientKeyExchange 消息时存在计时边信道。此边信道足以恢复在 Bleichenbacher 式攻击中跨网络以 RSA 密文加密的密钥。为实现成功解密,攻击者需要向易受攻击的服务器发送大量特制消息。通过从 ClientKeyExchange 消息恢复机密,攻击者将能够解密通过该连接交换的应用程序数据。(CVE-2023-0361)

- 在 hw 中发现一个缺陷。在某些与微架构相关的条件下,错误训练的返回指令分支预测可能允许任意推测代码执行。(CVE-2022-23816) (CVE-2022-28693)

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

解决方案

将 Nutanix AHV 软件更新为建议的版本。

另见

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

插件详情

严重性: Critical

ID: 180469

文件名: nutanix_NXSA-AHV-20230302_207.nasl

版本: 1.3

类型: local

系列: Misc.

发布时间: 2023/9/4

最近更新时间: 2024/2/20

支持的传感器: Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 9

时间分数: 7

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

CVSS 分数来源: CVE-2021-45960

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.8

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

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

CVSS 分数来源: CVE-2022-47629

漏洞信息

CPE: cpe:/o:nutanix:ahv

必需的 KB 项: Host/Nutanix/Data/Node/Version, Host/Nutanix/Data/Node/Type

可利用: true

易利用性: Exploits are available

补丁发布日期: 2023/9/4

漏洞发布日期: 2008/11/14

参考资料信息

CVE: CVE-2008-5161, CVE-2018-25032, CVE-2020-10735, CVE-2020-26116, CVE-2020-26137, CVE-2021-21996, CVE-2021-28861, CVE-2021-3177, CVE-2021-45960, CVE-2021-46143, CVE-2022-0778, CVE-2022-1271, CVE-2022-22822, CVE-2022-22823, CVE-2022-22824, CVE-2022-22825, CVE-2022-22826, CVE-2022-22827, CVE-2022-23852, CVE-2022-25235, CVE-2022-25236, CVE-2022-2526, CVE-2022-25315, CVE-2022-28693, CVE-2022-29154, CVE-2022-29900, CVE-2022-29901, CVE-2022-38177, CVE-2022-38178, CVE-2022-40674, CVE-2022-40897, CVE-2022-4304, CVE-2022-4415, CVE-2022-4450, CVE-2022-45061, CVE-2022-47629, CVE-2022-48303, CVE-2023-0215, CVE-2023-0286, CVE-2023-0361, CVE-2023-23916