CentOS 9:nodejs-16.16.0-1.el9

critical Nessus Plugin ID 191380

概要

遠端 CentOS 主機缺少一個或多個 nodejs 安全性更新。

說明

遠端 CentOS Linux 9 主機上安裝的套件受到 nodejs-16.16.0-1.el9 版本變更記錄中提及的多個弱點影響。

- npm CLI 6.14.6 之前版本容易受到透過記錄檔發起的資訊洩漏攻擊。CLI 支援下列 URL:<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>。密碼值未編輯,且列印至 stdout 以及任何產生的記錄檔。(CVE-2020-15095)

- 16.6.0、14.17.4 和 12.22.4 版之前的 Node.js 容易受到遠端程式碼執行、XSS、應用程式損毀攻擊,這是因為 Node.js dns 程式庫中缺少對網域名稱伺服器所傳回的主機名稱輸入的驗證,進而導致使用該程式庫的應用程式中存在錯誤的主機名稱輸出 (導致網域劫持) 和插入弱點。(CVE-2021-22931)

- 如果 Node.js https API 使用不當,並且針對 rejectUnauthorized 參數傳入 undefined,則應用程式不會傳回任何錯誤,且會接受與具有過期憑證的伺服器的連線。(CVE-2021-22939)

- 16.6.1 、14.17.5 和 12.22.5 版之前的 Node.js 容易受到釋放後使用攻擊,攻擊者可能會利用記憶體損毀來變更處理程序的行為。(CVE-2021-22940)

- 剖析器接受冒號前的標頭名稱後帶有一個空格 (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)

- ssri 5.2.2-8.0.0 版會使用容易受到拒絕服務影響的規則運算式處理 SRI,此問題已在 8.0.1 版中修正。處理惡意 SRI 可能需要極長的時間,這會導致拒絕服務。此問題只會影響使用 strict 選項的使用者。(CVE-2021-27290)

- ansi-regex 容易受到低效規則運算式複雜性的影響 (CVE-2021-3807)

- json-schema 容易受到受控不當修改物件原型內容 (「原型污染」) 的影響 (CVE-2021-3918)

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

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

解決方案

更新 CentOS 9 Stream nodejs 套件。

另請參閱

https://kojihub.stream.centos.org/koji/buildinfo?buildID=24670

Plugin 詳細資訊

嚴重性: Critical

ID: 191380

檔案名稱: centos9_nodejs-16_16_0-1.nasl

版本: 1.1

類型: local

代理程式: unix

已發布: 2024/2/29

已更新: 2024/4/26

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

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: High

基本分數: 7.5

時間分數: 5.9

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

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

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

弱點資訊

CPE: cpe:/a:centos:centos:9, p-cpe:/a:centos:centos:nodejs, p-cpe:/a:centos:centos:nodejs-devel, p-cpe:/a:centos:centos:nodejs-docs, p-cpe:/a:centos:centos:nodejs-full-i18n, p-cpe:/a:centos:centos:nodejs-libs, p-cpe:/a:centos:centos:npm, p-cpe:/a:centos:centos:v8-devel

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

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2022/8/23

弱點發布日期: 2020/7/7

參考資訊

CVE: CVE-2020-15095, CVE-2021-22931, CVE-2021-22939, CVE-2021-22940, CVE-2021-22959, CVE-2021-22960, CVE-2021-27290, CVE-2021-3807, CVE-2021-3918, 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