Amazon Linux 2022 : nodejs(ALAS2022-2022-214)

critical Nessus プラグイン ID 168555

概要

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

説明

リモートホストにインストールされている nodejs のバージョンは、18.4.0-1 より前のものです。したがって、ALAS2022-2022-214 のアドバイザリに記載されている複数の脆弱性の影響を受けます。

- このパーサーは、コロンの前のヘッダー名の直後にスペース (SP) があるリクエストを受け入れます。このため、llhttp < v2.1.4 および < v6.0.6 での HTTP リクエストスマグリング (HRS) が引き起こされる可能性があります。(CVE-2021-22959)

- llhttp < 2.1.4および < 6.0.6の解析関数は、チャンクされたリクエストの本文を解析するときに、チャンク拡張を無視します。このため、特定の状況で HTTP リクエストスマグリング (HRS) が発生します。(CVE-2021-22960)

- ** 異論あり ** package-lock.json の依存関係情報が package.json と異なる場合でも、npm 7.x および 8.x から 8.1.3 の npm ci コマンドはインストールを続行します。この動作はドキュメントと一致しておらず、package-lock.json の正確なバージョン一致要件によってブロックされているはずのマルウェアを攻撃者がインストールしやすくします。注:npm チームは、これは脆弱性ではないと考えています。これには、だれかが package-lock.json とは異なる依存関係を持つ package.json をソーシャルエンジニアリングする必要があります。そのユーザーは、依存関係を変更するためにファイルシステムまたは書き込みアクセス権を持っている必要があります。npm チームによると、悪意のある攻撃者によるソーシャルエンジニアリングやファイルシステムへのアクセスを阻止することは、npm CLI の範囲外です。(CVE-2021-43616)

- 任意のサブジェクト代替名 (SAN) タイプを受け入れると、PKI が特定の SAN タイプを使用するように明確に定義されていない限り、名前に制約のある中間体がバイパスされる可能性があります。Node.js < 12.22.9, < 14.18.3, < 16.13.2, および < 17.3.1は、URI SAN タイプを受け入れていました。これは、多くの場合、PKI が使用するように定義されていません。
さらに、プロトコルが URI SAN を許可している場合、Node.js は URI を正しく一致させませんでした。これを修正した Node.js のバージョンは、ホスト名に対して証明書をチェックするときに URI SAN タイプを無効にします。この動作は、--security-revertコマンドラインオプションで元に戻すことができます。(CVE-2021-44531)

- Node.js < 12.22.9, < 14.18.3, < 16.13.2, および < 17.3.1は、SAN (Subject Alternative Names) を文字列形式に変換します。この文字列を使用して、接続を検証する際にホスト名に対してピア証明書をチェックします。証明書チェーン内で名前の制約が使用されると、文字列形式が注入の脆弱性の影響を受け、これらの名前の制約がバイパスされる可能性があります。これを修正した Node.js のバージョンは、インジェクションを防ぐために、問題がある文字を含む SAN をエスケープします。この動作は、--security-revertコマンドラインオプションで元に戻すことができます。(CVE-2021-44532)

- Node.js < 12.22.9, < 14.18.3, < 16.13.2, および < 17.3.1が複数値の相対識別名を適切に処理しませんでした。攻撃者は、たとえば、証明書サブジェクトの検証をバイパスできる Common Name を注入するために、複数値の Relative Distinguished Name として解釈される単一値の Relative Distinguished Name を含む証明書サブジェクトを作成する可能性があります。影響を受けるバージョンの Node.js は複数値の Relative Distinguished Name を受け入れないため、そのような攻撃自体に対して脆弱ではありません。ただし、証明書サブジェクトのノードの曖昧な表現を使用するサードパーティコードは、脆弱である可能性があります。(CVE-2021-44533)

- console.table () 関数のフォーマットロジックにより、ユーザー制御の入力をプロパティパラメーターに渡すことはできませんが、最初のパラメーターとして少なくとも1つのプロパティを持つプレーンオブジェクトを渡すことは安全ではありません。これは__proto__である可能性があります。プロトタイプ汚染は、オブジェクトプロトタイプの数値キーに割り当てられる空の文字列のみを許可するという点で、コントロールが非常に制限されています。Node.js >= 12.22.9、>= 14.18.3、>= 16.13.2、および >= 17.3.1はこれらのプロパティが割り当てられている null プロトタイプを使用しています。(CVE-2022-21824)

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

ソリューション

「yum update nodejs」を実行してシステムを更新してください。

参考資料

https://alas.aws.amazon.com/AL2022/ALAS-2022-214.html

https://alas.aws.amazon.com/cve/html/CVE-2021-22959.html

https://alas.aws.amazon.com/cve/html/CVE-2021-22960.html

https://alas.aws.amazon.com/cve/html/CVE-2021-43616.html

https://alas.aws.amazon.com/cve/html/CVE-2021-44531.html

https://alas.aws.amazon.com/cve/html/CVE-2021-44532.html

https://alas.aws.amazon.com/cve/html/CVE-2021-44533.html

https://alas.aws.amazon.com/cve/html/CVE-2022-21824.html

プラグインの詳細

深刻度: Critical

ID: 168555

ファイル名: al2022_ALAS2022-2022-214.nasl

バージョン: 1.3

タイプ: local

エージェント: unix

公開日: 2022/12/9

更新日: 2023/9/20

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: High

基本値: 7.5

現状値: 5.9

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

CVSS スコアのソース: CVE-2021-43616

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 8.8

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

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

脆弱性情報

CPE: p-cpe:/a:amazon:linux:nodejs-debuginfo, p-cpe:/a:amazon:linux:nodejs-docs, p-cpe:/a:amazon:linux:nodejs-libs, cpe:/o:amazon:linux:2022, p-cpe:/a:amazon:linux:nodejs-full-i18n, p-cpe:/a:amazon:linux:v8-devel, p-cpe:/a:amazon:linux:nodejs, p-cpe:/a:amazon:linux:nodejs-devel, p-cpe:/a:amazon:linux:npm, p-cpe:/a:amazon:linux:nodejs-debugsource, p-cpe:/a:amazon:linux:nodejs-libs-debuginfo

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

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

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

パッチ公開日: 2022/12/6

脆弱性公開日: 2021/10/12

参照情報

CVE: CVE-2021-22959, CVE-2021-22960, CVE-2021-43616, CVE-2021-44531, CVE-2021-44532, CVE-2021-44533, CVE-2022-21824