CentOS 9:nodejs-16.20.1-1.el9

high Nessus Plugin ID 191426

概要

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

說明

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

- process.mainModule.__proto__.require() 中使用的 __proto__ 可繞過原則機制,並要求 policy.json 定義之外的模組。此弱點會影響在下列所有有效版本系列中使用實驗性原則機制的所有使用者:v16、v18 和 v20。請注意,在此 CVE 發布時,此原則為 Node.js 的實驗性功能 (CVE-2023-30581)

- 使用無效的公開金鑰建立使用 crypto.X509Certificate() API 的 x509 憑證時,會發生意外終止。如果攻擊者可強制中斷應用程式處理,則程式容易受到 DoS 攻擊,這是因為處理程序在從使用者程式碼存取所提供之憑證的公開金鑰資訊時會發生終止。使用者的目前內容會消失,進而造成 DoS 狀況。此弱點會影響所有有效的 Node.js v16、v18 和 v20 版本。(CVE-2023-30588)

- Node v20.2.0 http 模組中的 llhttp 剖析器未嚴格使用 CRLF 序列來分隔 HTTP 要求。這可導致 HTTP 要求走私 (HRS)。CR 字元 (不含 LF) 足以分隔 llhttp 剖析器中的 HTTP 標頭欄位。根據 RFC7230 第 3 節,只有 CRLF 序列應該分隔每個標頭欄位。此弱點會影響所有使用中的 Node.js 版本:v16、v18 和 v20 (CVE-2023-30589)

- 從 crypto.createDiffieHellman() 傳回的 generateKeys() API 函式只會產生缺失 (或過時) 的金鑰,也就是說,如果尚未設定任何金鑰,則只會產生私密金鑰。但是,在呼叫 setPrivateKey() 後,也需要此函式來計算相應的公開金鑰。不過,文件指出此 API 呼叫:產生私密和公開 Diffie-Hellman 金鑰值。記錄的行為與實際行為不同,因為 DiffieHellman 可作為應用程式層級安全性的基礎,所以此差異很容易在使用這些 API 的應用程式中造成安全性問題,最後造成廣泛影響。(CVE-2023-30590)

- c-ares 是一個非同步解析器程式庫。交叉編譯 c-ares 並使用 autotools 構建系統時,將不會設定 CARES_RANDOM_FILE,如交叉編譯 aarch64 android 時所出現的那樣。這將降級為使用 rand() 作為遞補,進而允許攻擊者不使用 CSPRNG 來利用缺少熵的情況。此問題已在 1.19.1 版中修補。(CVE-2023-31124)

- c-ares 是一個非同步解析器程式庫。ares_inet_net_pton() 容易受到某些 ipv6 位址的緩衝區反向溢位影響,特別是 0::00:00:00/2 會造成問題。C-ares 僅在內部使用此函式進行組態,這會要求系統管理員透過 ares_set_sortlist() 設定此類位址。但是,使用者可能會從外部將 ares_inet_net_pton() 用於其他目的,因此容易受到更嚴重的問題影響。此問題已在 1.19.1 中修正。(CVE-2023-31130)

- c-ares 是一個非同步解析器程式庫。當 /dev/urandom 或 RtlGenRandom() 不可用時,c-ares 會使用 rand() 產生用於 DNS 查詢 ID 的隨機數。這不是 CSPRNG,也不是由 srand() 植入,因此會產生可預測的輸出。來自亂數產生器的輸入會饋送到不相容的 RC4 實作中,且可能不如原始 RC4 實作強。其不會嘗試尋找現代作業系統提供的 CSPRNG,例如可廣泛使用的 arc4random()。1.19.1 版已修正此問題。(CVE-2023-31147)

- c-ares 是一個非同步解析器程式庫。c-ares 容易遭受拒絕服務攻擊。如果目標解析器傳送查詢,攻擊者會偽造長度為 0 的格式錯誤的 UDP 封包,並將其傳回目標解析器。目標解析器錯誤地將 0 長度解譯為連線的正常關閉。此問題已在 1.19.1 版中修正。(CVE-2023-32067)

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

解決方案

更新 CentOS 9 Stream nodejs 套件。

另請參閱

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

Plugin 詳細資訊

嚴重性: High

ID: 191426

檔案名稱: centos9_nodejs-16_20_1-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.8

時間分數: 6.1

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

CVSS 評分資料來源: CVE-2023-30590

CVSS v3

風險因素: High

基本分數: 7.5

時間分數: 6.7

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

時間媒介: 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

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

弱點發布日期: 2023/5/24

參考資訊

CVE: CVE-2023-30581, CVE-2023-30588, CVE-2023-30589, CVE-2023-30590, CVE-2023-31124, CVE-2023-31130, CVE-2023-31147, CVE-2023-32067