Node.js 14.x < 14.21.1 / 16.x < 16.18.1 / 18.x < 18.12.1 / 19.x < 19.0.1 多個弱點 (2022 年 11 月 3 日安全性版本)。

high Nessus Plugin ID 167024

Synopsis

Node.js - JavaScript 執行階段環境受到多個弱點影響。

描述

遠端主機上安裝的 Node.js 版本早於 14.21.1、16.18.1、18.12.1、19.0.1。因此,它受到 2022 年 11 月 3 日安全性版本公告中所提及的多個弱點影響。

- 在 X.509 憑證驗證中可觸發緩衝區滿溢,特別是在名稱限制檢查中。請注意,此問題會在憑證鏈簽章驗證之後發生,且需要 CA 簽署惡意憑證,或是即使無法建構受信任的簽發者路徑,應用程式仍需繼續進行憑證驗證。攻擊者可建構惡意電子郵件地址,造成堆疊中溢出四個受攻擊者控制的位元組。此緩衝區溢位問題可能會導致當機 (造成拒絕服務攻擊),或觸發遠端程式碼執行攻擊。影響:(CVE-2022-3602)

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

- --inspect 的 Node.js 重新繫結保護程式仍允許無效的 IP 位址,特別是八進位格式。八進位 IP 位址的一個例子是 1.09.0.0,其中的 09 八位元組無效,因為在以 8 為基數的數字系統中 9 不是一個數字。Firefox (已在最新版本 m105 上測試) 等瀏覽器仍會嘗試透過 DNS 解析此無效的八進位位址。當結合使用中 --inspect 工作階段時 (例如使用 VSCode 時),攻擊者可執行 DNS 重新繫結並執行任意程式碼。感謝 @haxatron1 報告此弱點。影響:(CVE-2022-43548)

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

解決方案

升級至 Node.js version 14.21.1 / 16.18.1 / 18.12.1 / 19.0.1 或更新版本。

另請參閱

http://www.nessus.org/u?01a243d6

Plugin 詳細資訊

嚴重性: High

ID: 167024

檔案名稱: nodejs_2022_nov.nasl

版本: 1.6

類型: local

代理程式: windows, macosx, unix

系列: Misc.

已發布: 2022/11/5

已更新: 2022/12/9

支持的傳感器: Nessus Agent

風險資訊

VPR

風險因素: High

分數: 7.1

CVSS v2

風險因素: High

基本分數: 7.8

時間分數: 5.8

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

時間媒介: E:U/RL:OF/RC:C

CVSS 評分資料來源: CVE-2022-3786

CVSS v3

風險因素: High

基本分數: 8.1

時間分數: 7.1

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

時間媒介: E:U/RL:O/RC:C

CVSS 評分資料來源: CVE-2022-43548

弱點資訊

CPE: cpe:/a:nodejs:node.js

必要的 KB 項目: installed_sw/Node.js

可輕鬆利用: No known exploits are available

修補程式發佈日期: 2022/11/1

弱點發布日期: 2022/10/27

參考資訊

CVE: CVE-2022-3602, CVE-2022-3786, CVE-2022-43548

IAVB: 2022-B-0047

CEA-ID: CEA-2022-0036