Node.js 14.x < 14.20.1 / 16.x < 16.17.1 / 18.x < 18.9.1 の複数の脆弱性 (2022 年 9 月 23 日のセキュリティリリース)。

critical Nessus プラグイン ID 165633

概要

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

説明

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

- CVE-2022-32212 の修正では、ルーティング可能な IP アドレスのケースがカバーされましたが、http://0.0.0.0 URL を処理する際に macOS デバイスに特定の動作が存在するため、攻撃者が制御する DNS サーバーが、.local ドメインのホストを解決することによって、DNS 再バインド保護をバイパスします。攻撃者が制御する DNS サーバーが <Computer Name>.local を任意の IP アドレスに解決し、被害者のブラウザに http://0.0.0.0で任意のコンテンツをロードさせる可能性があります。これにより、攻撃者は DNS 再バインド保護をバイパスできます。この脆弱性を報告してくれた Zeyu Zhang 氏 (@ zeyu2001) に、および修正してくれた Rafael Gonzaga 氏に感謝の意を表します。影響: (CVE-2022-32212)

- CVE-2022-32215の修正が不完全なため、Node.js v16.16.0 および 18.7.0の http モジュールの llhttp パーサーが依然として複数行の Transfer-Encoding ヘッダーを適切に処理しません。これにより、HTTP リクエストスマグリングが引き起こされる可能性があります (HRS)。この脆弱性を報告してくれた JFrog CSO チームの Liav Gutman 氏に感謝の意を表します。また、この問題を修正してくれた Paolo Insogna 氏に感謝の意を表します。影響: (CVE-2022-32215)

- CVE-2022-32213の修正は、Node.js HTTP パーサーがサポートする obs-fold を使用してバイパスされる可能性があります。Node.js HTTP モジュールがプロキシとして使用されている場合、チャンクされたリクエストを示すものとして  transfer-encoding ヘッダーを誤って解析します。その場合ヘッダーが折りたたまれ、Transfer-Encoding:chunked abc を転送していますが、これは有効な transfer-encoding ヘッダーではなく、ダウンストリーム サーバーに送信されます。このため、CVE-2022-32213 で示されているように、HTTP リクエストのスマグリングが発生する可能性があります。この脆弱性を報告してくれた Haxatron に感謝の意を表します。
影響: (CVE-2022-32213)

- Node.js v18.7.0 の http モジュールの llhttp パーサーが、CLRF で終了しないヘッダーフィールドを正しく処理しません。これにより、HTTP リクエストスマグリングが発生する可能性があります。この脆弱性を報告してくれた VVX7 に感謝の意を表します。影響: (CVE-2022-35256)

- Node.js 18 以降では、起動時に、プロセスが通常は存在しない /home/iojs/build/ws/out/Release/obj.target/deps/openssl/openssl.cnf を MacOS で読み取ろうとします。攻撃者は、自己選択したユーザー名 (iojs) で他のユーザーの OpenSSF 構成に影響を与えることができる共有 MacOS ホストにアクセスできる攻撃者である可能性があります。この脆弱性を報告 (修正も!) してくれた Michael Dawson 氏に感謝の意を表します。影響: (CVE-2022-32222)

- Node.js は以下で EntropySource() を呼び出していました。SecretKeyGenTraits: : DoKeyGen() in src/crypto/crypto_keygen.cc。
ただし、戻り値はチェックされません。EntropySource() は常に成功することを前提としていますが、失敗する可能性があります (しばしば失敗します)。この脆弱性を報告 (修正も!) してくれた Ben Noordhuis 氏に感謝の意を表します。影響:
(CVE-2022-35255)

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

ソリューション

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

参考資料

http://www.nessus.org/u?7b6fbe18

プラグインの詳細

深刻度: Critical

ID: 165633

ファイル名: nodejs_2022_sep.nasl

バージョン: 1.9

タイプ: local

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

ファミリー: Misc.

公開日: 2022/10/3

更新日: 2024/1/9

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

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: High

Base Score: 9.4

Temporal Score: 7.8

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

CVSS スコアのソース: CVE-2022-35255

CVSS v3

リスクファクター: Critical

Base Score: 9.1

Temporal Score: 8.4

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

現状ベクトル: CVSS:3.0/E:F/RL:O/RC:C

脆弱性情報

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

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

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

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

パッチ公開日: 2022/9/15

脆弱性公開日: 2022/7/8

参照情報

CVE: CVE-2022-32212, CVE-2022-32213, CVE-2022-32215, CVE-2022-32222, CVE-2022-35255, CVE-2022-35256

IAVB: 2022-B-0036-S