Amazon Linux 2023:nodejs、nodejs-devel、nodejs-full-i18n (ALAS2023-2023-084)

critical Nessus Plugin ID 173113

概要

遠端 Amazon Linux 2023 主機缺少一個安全性更新。

說明

因此,它受到 ALAS2023-2023-084 公告中所提及的多個弱點影響。

- 剖析器接受冒號前的標頭名稱後帶有一個空格 (SP) 的要求。這可導致低於 2.1.4 版和 6.0.6 版的 llhttp 發生 HTTP 要求走私。(CVE-2021-22959)

- 在低於 2.1.4 版和 6.0.6 版的 llhttp 中,parse 函式在剖析區塊要求的內文時會忽略區塊延伸模組。在某些情況下,這會導致 HTTP 要求走私 (HRS)。(CVE-2021-22960)

- ** 有爭議** 即使 package-lock.json 中的相依性資訊與 package.json 中的不同,npm 7.x 和 8.x 至 8.1.3 版本中的 npm ci 命令仍會繼續執行安裝。此行為與說明文件不一致,這讓攻擊者更容易安裝本應透過 package-lock.json 中的版本完全符合要求封鎖的惡意軟體。注意:npm 團隊認為這不是弱點。這需要有人以社交工程的方式入侵其中的相依性與 package-lock.json 不同的 package.json。該使用者必須擁有檔案系統或寫入權限,才能變更相依性。npm 團隊表示,防止惡意執行者進行社交工程入侵或取得檔案系統存取權超出了 npm CLI 的範圍。(CVE-2021-43616)

- 接受任意主體別名 (SAN) 類型 (除非特別定義 PKI 以使用特定 SAN 類型) 可導致繞過限制名稱的中繼體。Node.js < 12.22.9、< 14.18.3、< 16.13.2 和 < 17.3.1 接受通常定義為不使用 PKI 的 URI SAN 類型。
此外,當通訊協定允許 URI SAN 時,Node.js 未與 URI 正確相符。具有此修正的 Node.js 版本會在針對主機名稱檢查憑證時停用 URI SAN 類型。此行為可透過 --security-revert 命令列選項還原。(CVE-2021-44531)

- Node.js < 12.22.9、< 14.18.3、< 16.13.2 和 < 17.3.1 會將 SAN (主體別名) 轉換為字串格式。驗證連線時,它會使用此字串根據主機名稱檢查對等憑證。在憑證鏈中使用名稱限制時,字串格式容易受到一個插入弱點影響,進而允許繞過這些名稱限制。具有此修正的 Node.js 版本會溢出包含問題字元的 SAN,以防止插入。此行為可透過 --security-revert 命令列選項還原。(CVE-2021-44532)

- Node.js < 12.22.9、< 14.18.3、< 16.13.2 和 < 17.3.1 未正確處理多值相對辨別名稱。例如,攻擊者可建構包含單值相對辨別名稱的憑證主體,該名稱會被解譯為多值相對辨別名稱,以便插入允許繞過憑證主體驗證的通用名稱。受影響的 Node.js 版本不會接受多值相對辨別名稱,因此本身不會受到此類攻擊影響。但是,憑證主體使用節點不明確表示法的第三方程式碼可能會受到影響。(CVE-2021-44533)

- 由於 console.table() 函式的格式化邏輯,在傳送具有至少一個屬性的純物件 (可能是 __proto__) 的同時,將使用者控制的輸入傳送至屬性參數是不安全的。原型污染的控制權非常有限,因為它只允許將空字串指派給物件原型的數值金鑰。Node.js >= 12.22.9、>= 14.18.3、>= 16.13.2 和 >= 17.3.1 使用這些屬性獲派的物件空值原型。(CVE-2022-21824)

- 14.20.0、16.20.0、18.5.0 之前的 Node.js 版本中有一個 OS 命令注入弱點,這是因為 IsAllowedHost 檢查不充分所致,因為 IsIPAddress 在提出 DBS 要求之前未正確檢查 IP 位址是否無效,進而允許重新系結攻擊。(CVE-2022-32212)

- Node.js http 模組中的 llhttp 剖析器 (小於 v14.20.1、v16.17.1 和 v18.9.1) 未正確剖析和驗證 Transfer-Encoding 標頭,進而可能導致 HTTP 要求走私 (HRS)。(CVE-2022-32213)

- Node.js http 模組中的 llhttp 剖析器 (小於 v14.20.1、v16.17.1 和 v18.9.1) 未嚴格使用 CRLF 序列來分隔 HTTP 要求。這可導致 HTTP 要求走私 (HRS)。
(CVE-2022-32214)

- Node.js http 模組中的 llhttp 剖析器 (小於 v14.20.1、v16.17.1 和 v18.9.1) 未正確處理多行傳輸編碼標頭。這可導致 HTTP 要求走私 (HRS)。
(CVE-2022-32215)

- 低於 18.40.0 的 Linux 18.x 版本上的 Node.js 存在密碼編譯弱點,其允許使用 openssl.cnf 的預設路徑,在某些情況下,非管理員使用者可以存取此預設路徑,而不是 /etc/ssl,在未升級至 OpenSSL 3 的版本中也會發生此情況。(CVE-2022-32222)

- 在某些情況下,Windows 平台上的 Node.js 容易受到劫持執行流程的DLL 劫持攻擊。如果受害者在 Windows 系統上有下列依存關係,則此弱點可能遭攻擊者利用:* 已安裝 OpenSSL 並且存在 C: \Program Files\Common Files\SSL\openssl.cnf。只要存在上述情況,`node.exe` 就會在目前的使用者目錄中搜尋`providers.dll` 。之後, `node.exe` 會嘗試在 Windows 中依 DLL 搜尋順序搜尋 `providers.dll`。攻擊者可能將惡意檔案 `providers.dll` 放置在不同路徑之下並利用此弱點。(CVE-2022-32223)

- Node.js 18 存在 WebCrypto keygen 的弱隨機性弱點,這是由於 src/crypto/crypto_keygen.cc 中 SecretKeyGenTraits: : DoKeyGen() 的 EntropySource() 變更所致。此處有兩個問題:1) 它不檢查傳回值,而是假設 EntropySource() 總是成功,但它 (有時) 可能會失敗。2) EntropySource() 傳回的隨機資料在密碼編譯上可能不強,因此不適合作為金鑰內容。(CVE-2022-35255)

- Node v18.7.0 的 http 模組中的 llhttp 剖析器未正確處理非以 CLRF 結尾的標頭欄位,這可能會導致 HTTP 要求走私攻擊。(CVE-2022-35256)

- 在 X.509 憑證驗證中可觸發緩衝區滿溢,特別是在名稱限制檢查中。請注意,此問題會在憑證鏈簽章驗證之後發生,且需要 CA 簽署惡意憑證,或是即使無法建構受信任的簽發者路徑,應用程式仍需繼續進行憑證驗證。攻擊者可建構惡意電子郵件地址,造成堆疊中溢出四個受攻擊者控制的位元組。此緩衝區溢位問題可能會導致當機 (造成拒絕服務攻擊),或觸發遠端程式碼執行攻擊。許多平台已實作堆疊溢位保護措施,可減輕遠端程式碼執行的風險。可根據任何指定平台/編譯器的堆疊配置進一步降低風險。 CVE-2022-3602 的預先公告將此問題描述為「重大」。根據上述一些減輕風險的因素進行進一步分析後,已將此問題降級為「高風險」。仍建議使用者盡快升級至新版本。在 TLS 用戶端中,藉由連線至惡意伺服器即可觸發此問題。
在 TLS 伺服器中,如果伺服器要求用戶端驗證且惡意用戶端連線,則可觸發此問題。已在 OpenSSL 3.0.7 中修正 (受影響的是 3.0.0、3.0.1、3.0.2、3.0.3、3.0.4、3.0.5、3.0.6)。(CVE-2022-3602)

- 在 X.509 憑證驗證中可觸發緩衝區滿溢,特別是在名稱限制檢查中。請注意,此問題會在憑證鏈簽章驗證之後發生,且需要 CA 簽署惡意憑證,或是即使無法建構受信任的簽發者路徑,應用程式仍需繼續進行憑證驗證。攻擊者可在憑證中建構惡意電子郵件地址,造成堆疊中溢出任意數量包含「.」的位元組 (十進位 46)。此緩衝區溢位問題可能會導致當機 (造成拒絕服務攻擊)。在 TLS 用戶端中,藉由連線至惡意伺服器即可觸發此問題。在 TLS 伺服器中,如果伺服器要求用戶端驗證且惡意用戶端連線,則可觸發此問題。(CVE-2022-3786)

- 低於 14.21.1、16.18.1、18.12.1、19.0.1 的 Node.js 版本中存在 OS 命令插入弱點,這是因為 IsAllowedHost 檢查不充分所致,IsIPAddress 在提出 DBS 要求之前未正確檢查 IP 位址是否無效,因而攻擊者可以輕易略過 IsAllowedHost 檢查,執行重新繫結攻擊。https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-32212 中針對此問題的修復不完整,所以提供了新的 CVE 來補充此修復。(CVE-2022-43548)

請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。

解決方案

執行「dnf update nodejs --releasever=2023.0.20230222」以更新系統。

另請參閱

https://alas.aws.amazon.com/AL2023/ALAS-2023-084.html

https://alas.aws.amazon.com/cve/html/CVE-2021-22959.html

https://alas.aws.amazon.com/cve/html/CVE-2021-22960.html

https://alas.aws.amazon.com/cve/html/CVE-2021-43616.html

https://alas.aws.amazon.com/cve/html/CVE-2021-44531.html

https://alas.aws.amazon.com/cve/html/CVE-2021-44532.html

https://alas.aws.amazon.com/cve/html/CVE-2021-44533.html

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

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

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

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

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

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

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

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

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

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

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

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

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

Plugin 詳細資訊

嚴重性: Critical

ID: 173113

檔案名稱: al2023_ALAS2023-2023-084.nasl

版本: 1.2

類型: local

代理程式: unix

已發布: 2023/3/21

已更新: 2023/4/21

支援的感應器: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: High

基本分數: 7.5

時間分數: 6.2

媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS 評分資料來源: CVE-2021-43616

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: p-cpe:/a:amazon:linux:nodejs, p-cpe:/a:amazon:linux:nodejs-debuginfo, p-cpe:/a:amazon:linux:nodejs-debugsource, p-cpe:/a:amazon:linux:nodejs-devel, p-cpe:/a:amazon:linux:nodejs-docs, p-cpe:/a:amazon:linux:nodejs-full-i18n, p-cpe:/a:amazon:linux:nodejs-libs, p-cpe:/a:amazon:linux:nodejs-libs-debuginfo, p-cpe:/a:amazon:linux:npm, p-cpe:/a:amazon:linux:v8-devel, cpe:/o:amazon:linux:2023

必要的 KB 項目: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2023/2/17

弱點發布日期: 2021/10/12

參考資訊

CVE: CVE-2021-22959, CVE-2021-22960, CVE-2021-43616, CVE-2021-44531, CVE-2021-44532, CVE-2021-44533, CVE-2022-21824, CVE-2022-32212, CVE-2022-32213, CVE-2022-32214, CVE-2022-32215, CVE-2022-32222, CVE-2022-32223, CVE-2022-35255, CVE-2022-35256, CVE-2022-3602, CVE-2022-3786, CVE-2022-43548