Node.js 14.x< 14.20.0/ 16.x< 16.16.0/ 18.x< 18.5.0複数の脆弱性 (2022 年 7 月 7 日のセキュリティリリース).

high Nessus プラグイン ID 165634

概要

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

説明

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

- http モジュールの llhttp パーサーが、Transfer-Encoding ヘッダーを適切に解析し検証しません。これにより、HTTPリクエストスマグリングが引き起こされる可能性があります (HRS) 。詳細については、公開後に CVE-2022-32213で入手できるようになります。この脆弱性を報告してくれた Zeyu Zhang 氏 (@ zeyu2001) に感謝の意を表します。影響:
(CVE-2022-32213)

- http モジュールの llhttp パーサーは、HTTP リクエストの区切りに CRLF シーケンスを厳密には使用しません。
これにより、HTTPリクエストスマグリングが引き起こされる可能性があります (HRS) 。詳細については、公開後に CVE-2022-32214で入手できるようになります。この脆弱性を報告してくれた Zeyu Zhang 氏 (@ zeyu2001) に感謝の意を表します。影響:
(CVE-2022-32214)

- http モジュールの llhttp パーサーが、複数行の Transfer-Encoding ヘッダーを適切に処理しません。これにより、HTTPリクエストスマグリングが引き起こされる可能性があります (HRS) 。詳細については、公開後に CVE-2022-32215で入手できるようになります。この脆弱性を報告してくれた Zeyu Zhang 氏 (@ zeyu2001) に感謝の意を表します。影響:
(CVE-2022-32215)

- IsIPAddress は IP アドレスが無効かどうかを適切にチェックしないため、IsAllowedHost チェックは簡単にバイパスできます。無効な IPv4 アドレスが提供されると ( 10.0.2.555が提供されるなど) 、ブラウザ (Firefox など) が DNS サーバーに DNS リクエストを行い、攻撃者が制御する DNS サーバーまたは MITM にベクトルを提供して、DNS 応答を偽装する可能性があります。再バインド攻撃を実行し、WebSocket デバッガに接続することで、任意コード実行が可能になります。これは CVE-2021-22884のバイパスです。詳細については、公開後に CVE-2022-32212で入手できるようになります。この脆弱性を報告してくれた Axel Chong 氏 に感謝の意を表します。影響: (CVE-2022-32212)

- 被害者が Windows マシンで次の依存関係を持っている場合、この脆弱性が悪用される可能性があります:
上記の条件が存在する場合、node.exe は現在のユーザーディレクトリで providers.dll を検索します。その後、node.exe は Windows の DLL Search Order で providers.dll を検索しようとします。
攻撃者が悪意のあるファイル providers.dll をさまざまなパスに配置し、この脆弱性を悪用する可能性があります。詳細については、公開後に CVE-2022-32223で入手できるようになります。この脆弱性を報告してくれた、Aqua Security の Yakir Kadkoda 氏に感謝の意を表します。影響: 注: Node.js は、環境変数 OPENSSL_CONF を指定するか、コマンドラインオプション --openssl-confを使用することで、OpenSSL 構成ファイルを使用できます。これらのいずれも指定されていない場合は、デフォルトでデフォルトの OpenSSL 構成ファイル openssl.cnf が読み取られます。Node.js は、デフォルトで nodejs_conf という名前のセクションのみを読み取ります。インストールがデフォルトの openssl.cnf ファイルを使用しており、この重大な変更の影響を受ける場合は、以下の方法で以前の動作に戻すことができます:(CVE-2022-32223)

- Node.js が Linux ベースのシステムで起動すると、通常は存在しない /home/iojs/build/ws/out/Release/obj.target/deps/openssl/openssl.cnf を読み取ろうとします。一部の共有システムでは、攻撃者がこのファイルを作成できるため、他のユーザーのデフォルトの OpenSSL 構成に影響を与える可能性があります。この脆弱性を報告してくれた OpenSSF Alpha-Omega プロジェクトの Michael Scovetta 氏に感謝の意を表します。影響: (CVE-2022-32222)

- AES-NI アセンブリ最適化実装を使用する 32 ビット x86 プラットフォームの AES OCB モードは、一部の状況でデータ全体を暗号化しません。これにより、書き込まれなかったメモリに既存の 16 バイトのデータが漏洩する可能性があります。インプレース暗号化の特別なケースでは、平文の 16 バイトが漏洩します。OpenSSL は、TLS および DTLS の OCB ベースの暗号化パッケージをサポートしていないため、どちらも影響を受けません。影響: (CVE-2022-2097)

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

ソリューション

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

参考資料

https://nodejs.org/en/blog/vulnerability/july-2022-security-releases/

プラグインの詳細

深刻度: High

ID: 165634

ファイル名: nodejs_2022_jul.nasl

バージョン: 1.7

タイプ: local

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

ファミリー: Misc.

公開日: 2022/10/3

更新日: 2024/1/9

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

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

リスク情報

VPR

リスクファクター: Medium

スコア: 5.9

CVSS v2

リスクファクター: Medium

基本値: 5

現状値: 4.1

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

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

CVSS v3

リスクファクター: High

基本値: 8.1

現状値: 7.5

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

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

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

脆弱性情報

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

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

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

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

パッチ公開日: 2022/7/7

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

参照情報

CVE: CVE-2022-2097, CVE-2022-32212, CVE-2022-32213, CVE-2022-32214, CVE-2022-32215, CVE-2022-32222, CVE-2022-32223

IAVB: 2022-B-0036-S