概要
リモートの 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」を実行してシステムを更新してください。
プラグインの詳細
ファイル名: al2022_ALAS2022-2022-214.nasl
エージェント: unix
サポートされているセンサー: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P
ベクトル: 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
エクスプロイトの容易さ: Exploits are available