Node.js 18.x < 18.18.2 / 20.x < 20.8.1 の複数の脆弱性 (2023 年 10 月 13 日金曜日のセキュリティリリース)。

critical Nessus プラグイン ID 183390

概要

Node.js - JavaScript Runtime Environment は複数の脆弱性の影響を受けます。

説明

リモートホストにインストールされている Node.js のバージョンは、18.18.2、20.8.1 より前のものです。したがって、2023 年 10 月 13 日金曜日のセキュリティリリースのアドバイザリに記載されている複数の脆弱性の影響を受けます。

- Undici が、クロスオリジンリダイレクトの Cookie ヘッダーを必ずしもクリアしていませんでした。設計上、cookie ヘッダーは禁止されたリクエストヘッダーであり、ブラウザ環境では RequestInit.headers で設定できません。
undici は仕様よりも自由にヘッダーを処理するため、仕様が行った想定と、undici のフェッチの実装との間に断絶がありました。このため、サードパーティのサイトに誤ってクッキーが漏洩したり、リダイレクトターゲットを制御できる悪意のある攻撃者 (オープンリダイレクターなど) がクッキーをサードパーティのサイトに漏洩したりする可能性があります。詳細は、GHSA-wqq4-5wpv-mx2g をご覧ください (CVE-2023-45143)

- 境界のないストリーム (RST_STREAM が直後に続く HEADERS フレーム) の迅速な作成およびキャンセルは、サービス拒否を引き起こします。詳細については、https://www.cve.org/CVERecord?id=CVE-2023-44487を参照してください。影響:
(CVE-2023-44487)

- 以前に開示された脆弱性 (CVE-2023-30584) はパッチが不十分でした。この実装は、アプリケーションが組み込みのユーティリティ関数をユーザー定義の実装で上書きすることを防いでいないため、新しいパストラバーサルの脆弱性が発生します。影響: 注意: この CVE が発行された時点では、このアクセス許可は Node.js の実験的な機能です。セキュリティパッチを報告し、作成した Tobias Nieen 氏に感謝します。(CVE-2023-39331)

- さまざまな node: fs 関数では、文字列または Uint8Array オブジェクトとしてパスを指定できます。Node.js 環境では、Buffer クラスが Uint8Array クラスを拡張します。Node.js は、文字列 (CVE-2023-30584 を参照) および Buffer オブジェクト (CVE-2023-32004 を参照) を通じたパストラバーサルを防止しますが、Buffer Uint8Array 以外のオブジェクトを通じたパストラバーサルは防止しません。これは、Buffer オブジェクトのみを参照していた CVE-2023-32004 (レポート 2038134) とは異なります。ただし、この脆弱性は Buffer の代わりに Uint8Array を使っても同じパターンになります。影響:
注意: この CVE が発行された時点では、このアクセス許可は Node.js の実験的な機能です。セキュリティパッチを報告し、作成した Tobias Nieen 氏に感謝します。(CVE-2023-39332)

- Node.js のポリシー機能が信頼できるマニフェストに対してリソースの整合性をチェックするとき、アプリケーションが操作を傍受し、偽造されたチェックサムをノードのポリシー実装に返すため、整合性チェックを効果的に無効にする可能性があります。影響: 注意: この CVE が発行された時点では、このポリシーメカニズムは Node.js の実験的な機能です。セキュリティパッチを報告し、作成した Tobias Nieen 氏に感謝します。(CVE-2023-38552)

- インポートされた WebAssembly モジュールのエクスポート名を悪意を持って細工することで、JavaScript コードを注入できます。注入されたコードは、あたかも WebAssembly モジュールが JavaScript モジュールであるかのように、WebAssembly モジュール自体がアクセスできないデータや機能にアクセスできる可能性があります。影響: この問題を報告してくれた dittyroma 氏に、および修正してくれた Tobias Nieen 氏に感謝の意を表します。(CVE-2023-39333)

Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。

ソリューション

Node.js のバージョンを 18.18.2 / 20.8.1 以降にアップグレードしてください。

参考資料

http://www.nessus.org/u?158127f8

プラグインの詳細

深刻度: Critical

ID: 183390

ファイル名: nodejs_2023_oct.nasl

バージョン: 1.7

タイプ: local

エージェント: windows, macosx, unix

ファミリー: Misc.

公開日: 2023/10/19

更新日: 2024/2/23

設定: 徹底したチェックを有効にする

サポートされているセンサー: Nessus Agent, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: Critical

基本値: 10

現状値: 8.3

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C

CVSS スコアのソース: CVE-2023-39332

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: cpe:/a:nodejs:node.js

必要な KB アイテム: installed_sw/Node.js

エクスプロイトが利用可能: true

エクスプロイトの容易さ: Exploits are available

パッチ公開日: 2023/10/13

脆弱性公開日: 2023/10/10

CISA の既知の悪用された脆弱性の期限日: 2023/10/31

参照情報

CVE: CVE-2023-38552, CVE-2023-39331, CVE-2023-39332, CVE-2023-39333, CVE-2023-44487, CVE-2023-45143

IAVB: 2023-B-0083-S