Nutanix AHV:多個弱點 (NXSA-AHV-20230302.207)

critical Nessus Plugin ID 180469

概要

Nutanix AHV 主機受到多個弱點影響。

說明

遠端主機上安裝的 AHV 低於 20220304.480 版。因此,它受到 NXSA-AHV-20230302.207 公告中所提及的多個弱點影響。

- 在 Expat (即 libexpat) 2.4.3 更舊版本中,於 xmlparse.c 的 storeAtts 函式中左移 29 個 (或更多) 位置,可導致出現 realloc 錯誤行為 (例如,配置的位元組數目太少或僅釋放記憶體)。
(CVE-2021-45960)

- 在 Expat (即 libexpat) 2.4.3 更舊版本中,xmlparse.c 的 doProlog 存在 m_groupSize 整數溢位弱點。(CVE-2021-46143)

- 在 Expat (即 libexpat) 2.4.3 更舊版本中,xmlparse.c 的 addBinding 存在整數溢位弱點。(CVE-2022-22822)

- 在 Expat (即 libexpat) 2.4.3 更舊版本中,xmlparse.c 的 build_model 存在整數溢位弱點。(CVE-2022-22823)

- 在 Expat (即 libexpat) 2.4.3 更舊版本中,xmlparse.c 的 defineAttribute 存在整數溢位弱點。
(CVE-2022-22824)

- 在 Expat (即 libexpat) 2.4.3 更舊版本中,xmlparse.c 的 lookup 存在整數溢位弱點。(CVE-2022-22825)

- 在 Expat (即 libexpat) 2.4.3 更舊版本中,xmlparse.c 的 nextScaffoldPart 存在整數溢位弱點。
(CVE-2022-22826)

- 在 Expat (即 libexpat) 2.4.3 更舊版本中,xmlparse.c 的 storeAtts 存在整數溢位弱點。(CVE-2022-22827)

- 針對具有非零 XML_CONTEXT_BYTES 的組態, 2.4.4 版之前的 Expat (即 libexpat) 的 XML_GetBuffer 中有一個帶正負號的整數溢位弱點。(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)

- 在 Python 3.x 的 3.5.10 之前版本、3.6.x 的 3.6.12 之前版本、3.7.x 的 3.7.9 之前版本以及 3.8.x 的 3.8.5 之前版本中,如果攻擊者控制 HTTP 要求方法,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.x 至 3.9.1 版中, _ctypes/callproc.c 的 PyCArg_repr 中存在緩衝區溢位問題,可能導致在某些將浮點數接受為未受信任輸入的 Python 應用程式中執行遠端程式碼, c_double.from_param 的 1e300 引數即為一例。這是未安全使用 sprintf 所致。(CVE-2021-3177)

- 在 rsync 3.2.5 之前版本中發現一個問題,該問題允許惡意遠端伺服器在連線的對等端目錄中寫入任意檔案。伺服器會選擇將哪些檔案/目錄傳送至用戶端,但是,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 控制權的使用者可以在 salt minion 上以 root 身分取得完整的檔案系統存取權限。(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)

- 在 (1) SSH Tectia Client and Server 與 Connector 4.0 到 4.4.11、5.0 到 5.2.4,以及 5.3 到 5.3.8;Client and Server 與 ConnectSecure 6.0 到 6.0.4;IBM System z 6.0.4 上的 Server for Linux;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 和可能其他版本中,於 Cipher Block Chaining (CBC) 模式下使用區塊加密演算法時,對 SSH 通訊協定的錯誤處理會使遠端攻擊者更容易透過未知的向量,從 SSH 工作階段中加密文字的任意區塊復原某些純文字資料。(CVE-2008-5161)

- Python Packaging Authority (PyPA) setuptools 65.5.1 之前版本允許遠端攻擊者透過特製套件或自訂 PackageIndex 頁面中的 HTML 造成系統拒絕服務。package_index.py 中存在規則運算式拒絕服務 (ReDoS) 弱點。(CVE-2022-40897)

- 1.6.3 版之前的 Libksba 容易受到 CRL 簽章剖析器中的整數溢位弱點影響。
(CVE-2022-47629)

- GNU Tar 1.34 及其之前所有版本中存在單位元組超出邊界讀取弱點,攻擊者可針對條件跳轉使用未初始化的記憶體。透過攻擊變更控制流程的作法尚未得到證實。透過 V7 封存 (其中 mtime 具有大約 11 個空白字元),可在 list.c 的 from_header 中引致此問題。
(CVE-2022-48303)

- v7.88.0 之前版本的 curl 基於鏈結式 HTTP 壓縮演算法,存在資源配置無限制或無節流弱點,這表示伺服器回應可被壓縮多次,並且可能使用不同的演算法。此解壓縮鏈中可接受的連結數設有上限,但該上限是依標頭實作的,惡意伺服器可利用許多標頭來插入幾乎不受限制的壓縮步驟數。使用此類解壓縮鏈可導致 malloc 炸彈,進而使 curl 最終花費大量已配置的堆積記憶體,或嘗試並傳回記憶體不足錯誤。(CVE-2023-23916)

- OpenSSL RSA Decryption 實作中存在計時型旁路,其足可在 Bleichenbacher 式攻擊中跨網路復原純文字。若要成功解密,攻擊者必須能夠傳送大量的試用訊息以進行解密。
此弱點會影響所有 RSA 填補模式:PKCS#1 v1.5、RSA-OEAP 和 RSASVE。例如,在 TLS 連線中,用戶端通常會使用 RSA 將加密的 pre-master 密碼傳送至伺服器。攻擊者若觀察到用戶端與伺服器之間存在真正連線,就可以利用此缺陷將試用訊息傳送至伺服器,並記錄處理這些訊息所用的時間。攻擊者獲得充足的訊息之後,便可復原用於最初連線的 pre-master 密碼,進而能夠解密透過該連線傳送的應用程式資料。(CVE-2022-4304)

- PEM_read_bio_ex() 函式會從 BIO 讀取 PEM 檔案,並剖析和解碼名稱 (例如:
CERTIFICATE)、任何標頭資料和承載資料。如果函式成功運行,則使用包含相關解碼資料之緩衝區的指標填入 name_out、標頭和資料引數。
呼叫者負責釋放這些緩衝區。攻擊者可以建構會產生 0 位元組承載資料的 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 篩選器 BIO 以形成 BIO 鏈結,然後將 BIO 鏈結的新標頭傳回給呼叫者。在某些情況下,例如,如果 CMS 收件人公開金鑰無效,則新篩選器 BIO 會被釋放,並且該函式會傳回 NULL 結果,表明失敗。但在此情況下,BIO 鏈結未經正確清理,且呼叫者傳送的 BIO 仍保留先前釋放的篩選器 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 和 smime 命令行應用程式受到類似影響。(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,兩者都不需要有效的簽章。如果攻擊者只控制其中一個輸入,則另一個輸入必須已包含 X.400 位址作為 CRL 發佈點,此情況並不常見。因此,此弱點最有可能只影響已實作透過網路擷取 CRL 這一功能的應用程式。(CVE-2023-0286)

- 在 python 中發現一個缺陷。在使用非二進位基底的二次時間複雜度演算法中,當使用 int(text) 時,系統可能需要 50 秒才能剖析具有 100,000 位數的 int 字串,而對於具有 1,000,000 位數的 int 字串,則需要 5 秒 (二進位基底爲 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)

- 在 Python 3.11.1 之前版本中發現一個問題。處理 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

Plugin 詳細資訊

嚴重性: 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