Amazon Linux 2023 : nodejs20、nodejs20-devel、nodejs20-full-i18n (ALAS2023-2024-544)

high Nessus プラグイン ID 191606

概要

リモートの Amazon Linux 2023 ホストに、セキュリティ更新プログラムがありません。

説明

したがって、ALAS2023-2024-544 のアドバイザリに記載されている複数の脆弱性の影響を受けます。

- 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)

- Undici は、Node.js 用にゼロから書かれた HTTP/1.1 クライアントです。Undici はクロスオリジンリダイレクトで Authorization ヘッダーをすでにクリアしていましたが、「Proxy-Authentication」ヘッダーはクリアしていませんでした。この問題には、バージョン 5.28.3 および 6.6.1 でパッチが適用されています。ユーザーにアップグレードすることを推奨します。この脆弱性に対する既知の回避策はありません。(CVE-2024-24758)

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

- 2024-03-13: CVE-2024-22025 はこのアドバイザリに追加されました。(CVE-2024-22025)

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

ソリューション

「dnf update nodejs20 --releasever 2023.3.20240304」を実行してシステムを更新してください。

参考資料

https://alas.aws.amazon.com/AL2023/ALAS-2024-544.html

https://alas.aws.amazon.com/faqs.html

https://alas.aws.amazon.com/cve/html/CVE-2024-21890.html

https://alas.aws.amazon.com/cve/html/CVE-2024-21891.html

https://alas.aws.amazon.com/cve/html/CVE-2024-21892.html

https://alas.aws.amazon.com/cve/html/CVE-2024-21896.html

https://alas.aws.amazon.com/cve/html/CVE-2024-22017.html

https://alas.aws.amazon.com/cve/html/CVE-2024-22019.html

https://alas.aws.amazon.com/cve/html/CVE-2024-22025.html

https://alas.aws.amazon.com/cve/html/CVE-2024-24758.html

プラグインの詳細

深刻度: High

ID: 191606

ファイル名: al2023_ALAS2023-2024-544.nasl

バージョン: 1.1

タイプ: local

エージェント: unix

公開日: 2024/3/6

更新日: 2024/3/18

サポートされているセンサー: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Nessus

リスク情報

VPR

リスクファクター: High

スコア: 7.1

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:amazon:linux:v8-11.3-devel, p-cpe:/a:amazon:linux:nodejs20-debugsource, p-cpe:/a:amazon:linux:nodejs20-devel, p-cpe:/a:amazon:linux:nodejs20, p-cpe:/a:amazon:linux:nodejs20-npm, p-cpe:/a:amazon:linux:nodejs20-libs, p-cpe:/a:amazon:linux:nodejs20-debuginfo, p-cpe:/a:amazon:linux:nodejs20-full-i18n, p-cpe:/a:amazon:linux:nodejs20-libs-debuginfo, p-cpe:/a:amazon:linux:nodejs20-docs, cpe:/o:amazon:linux:2023

必要な KB アイテム: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

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

パッチ公開日: 2024/2/29

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

参照情報

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