FreeBSD : NodeJS -- 脆弱性 (77a6f1c9-d7d2-11ee-bb12-001b217b3468)

high Nessus プラグイン ID 191471

Language:

概要

リモートの FreeBSD ホストに 1 つ以上のセキュリティ関連の更新プログラムがありません。

説明

リモートホストにインストールされている FreeBSD のバージョンは、テスト済みバージョンより前です。したがって、77a6f1c9-d7d2-11ee-bb12-001b217b3468 のアドバイザリに記載されている複数の脆弱性の影響を受けます。

- Node.js アクセス許可モデルは、ワイルドカードをファイルパスの最後の文字としてのみ使用する必要があることをドキュメント内で明確にしていません。例: ``` --allow-fs-read=/home/node/.ssh/*.pub ``` は「pub」を無視し、「.ssh/」より後のすべてへのアクセスを許可します。この誤解を招く文書は、Node.js 20 および Node.js 21 で実験的なアクセス許可モデルを使用しているすべてのユーザーに影響を与えます。注意: この CVE が発行された時点では、このアクセス許可は Node.js の実験的な機能です。(CVE-2024-21890)

- Node.js は、node:fs 関数に提供されるパスを正規化するために複数の組み込みユーティリティ関数に依存しています。これらはユーザー定義の実装で上書きすることができ、パストラバーサル攻撃を通じてファイルシステムの権限モデルをバイパスする可能性があります。この脆弱性は、Node.js 20 および Node.js 21 で実験的なアクセス許可モデルを使用しているすべてのユーザーに影響を与えます。注意: この CVE が発行された時点では、このアクセス許可は Node.js の実験的な機能です。(CVE-2024-21891)

- Linux では、プロセスが昇格された特権で実行されているときに特権のないユーザーによって設定された可能性がある特定の環境変数が、CAP_NET_BIND_SERVICE を除いて、Node.js によって無視されます。この例外の実装にバグがあるため、特定の他の機能が設定されている場合でも、Node.js がこの例外を不適切に適用します。これにより、権限のないユーザーが、プロセスの昇格した権限を継承するコードを挿入する可能性があります。(CVE-2024-21892)

- アクセス許可モデルは、ユーザーが指定したパスで path.resolve() を呼び出すことで、パストラバーサル攻撃から自身を保護します。パスが Buffer として扱われる場合には、実装は Buffer.from() を使用して、path.resolve() の結果から Buffer を取得します。Buffer internals (Buffer.prototype.utf8Write) にモンキーパッチングを行うことで、アプリケーションが path.resolve() の結果を変更する可能性があり、これは、パストラバーサルの脆弱性につながります。この脆弱性は、Node.js 20 および Node.js 21 で実験的なアクセス許可モデルを使用しているすべてのユーザーに影響を与えます。注意: この CVE が発行された時点では、このアクセス許可は Node.js の実験的な機能です。(CVE-2024-21896)

- Node.js の HTTP サーバーの脆弱性により、攻撃者はチャンクエンコーディングを使用した特別に細工された HTTP リクエストを送信し、リソースの枯渇とサービス拒否 (DoS) を引き起こす可能性があります。サーバーは、チャンク拡張バイトに制限がないことを悪用して、1 つの接続から無制限にバイトを読み取ります。この問題により、タイムアウトや本文サイズ制限などの標準的な保護をバイパスして、CPU とネットワークの帯域幅を消費させる可能性があります。(CVE-2024-22019)

- crypto ライブラリの privateDecrypt() API の脆弱性により、PKCS#1 v1.5 パディングエラーの処理中に隠れたタイミングサイドチャネルが引き起こされました。この脆弱性により、有効な暗号文と無効な暗号文の復号化に、重大なタイミングの違いがあることが明らかになりました。特に API エンドポイントが Json Web Encryption メッセージを処理するシナリオでは、攻撃者がこの脆弱性をリモートで悪用して、キャプチャされた RSA 暗号文を復号したり、署名を偽造したりする可能性があるため、これは深刻な脅威となります。影響: この脆弱性を報告してくださった hkario 氏と、修正してくださった Michael Dawson 氏に感謝の意を表します。(CVE-2023-46809)

- setuid() は、setuid() を呼び出す前に初期化されている場合には、libuv の内部 io_uring 操作に影響を与えません。
これにより、プロセスは、setuid() の呼び出しによって権限がドロップされた可能性があるにもかかわらず、権限の必要な操作を実行できます。影響: この脆弱性を報告してくださった valette 氏と、修正してくださった Tobias Nieen 氏に感謝の意を表します。(CVE-2024-22017)

- fetch() brotli デコーディングでのリソース枯渇によるサービス拒否。(CVE-2024-22025)

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

ソリューション

影響を受けるパッケージを更新してください。

参考資料

http://www.nessus.org/u?1c63fc58

http://www.nessus.org/u?895eaaf0

プラグインの詳細

深刻度: High

ID: 191471

ファイル名: freebsd_pkg_77a6f1c9d7d211eebb12001b217b3468.nasl

バージョン: 1.1

タイプ: local

公開日: 2024/3/1

更新日: 2024/4/5

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

リスク情報

VPR

リスクファクター: Critical

スコア: 9.0

CVSS v2

リスクファクター: High

基本値: 7.2

現状値: 5.3

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

CVSS スコアのソース: CVE-2024-22017

CVSS v3

リスクファクター: High

基本値: 7.9

現状値: 6.9

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

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

CVSS スコアのソース: CVE-2024-21896

脆弱性情報

CPE: p-cpe:/a:freebsd:freebsd:node, p-cpe:/a:freebsd:freebsd:node16, p-cpe:/a:freebsd:freebsd:node18, p-cpe:/a:freebsd:freebsd:node20, p-cpe:/a:freebsd:freebsd:node21, cpe:/o:freebsd:freebsd

必要な KB アイテム: Host/local_checks_enabled, Host/FreeBSD/release, Host/FreeBSD/pkg_info

エクスプロイトの容易さ: No known exploits are available

パッチ公開日: 2024/3/1

脆弱性公開日: 2024/2/14

参照情報

CVE: CVE-2023-46809, CVE-2024-21890, CVE-2024-21891, CVE-2024-21892, CVE-2024-21896, CVE-2024-22017, CVE-2024-22019, CVE-2024-22025

IAVB: 2024-B-0016-S