CentOS 9 : nodejs-16.16.0-1.el9

critical Nessus プラグイン ID 191380

概要

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

説明

リモートの CentOS Linux 9 ホストに、nodejs-16.16.0-1.el9 ビルド変更ログに記載されている複数の脆弱性の影響を受けるパッケージがインストールされています。

6.14.6より前のバージョンのnpm CLIは、ログファイルを通じた情報漏洩の脆弱性に脆弱です。CLI は、<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path> のような URL をサポートしています。パスワードの値は編集されず、stdoutおよび生成されたログファイルに出力されます。(CVE-2020-15095)

- 16.6.0、14.17.4、および 12.22.4 より前の Node.js は、Node.js dns ライブラリの Domain Name Servers によって返されるホスト名の入力を検証しないため、リモートコード実行、XSS、アプリケーションのクラッシュに脆弱です。その結果、誤ったホスト名 (ドメインハイジャックに至る) を出力し、当該ライブラリを使用するアプリケーションにインジェクションの脆弱性を発生させる可能性があります。(CVE-2021-22931)

- rejectUnauthorizedパラメーターに対して、Node.js https APIが不適切に使用され、定義されずに、渡される場合、エラーが返されず、有効期限が切れた証明書を使ったサーバーへの接続が受理されていました。(CVE-2021-22939)

- 16.6.1、14.17.5、および 12.22.5 より前の Node.js はメモリ解放後使用 (Use-After-Free) 攻撃に対して脆弱であり、攻撃者はメモリ破損を悪用し、プロセスの挙動を変更させることが可能な場合があります。(CVE-2021-22940)

- このパーサーは、コロンの前のヘッダー名の直後にスペース (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)

-8.0.1で修正された、SSRI 5.2.2-8.0.0は、サービス拒否に対して脆弱である正規表現を使用してSRIを処理します。悪意のあるSRIの処理に非常に長い時間がかかり、サービス拒否が発生する可能性があります。この問題は、厳格なオプションを使用するコンシューマーにのみ影響します。(CVE-2021-27290)

- ansi-regex は非効率的な正規表現の複雑性に対して脆弱です (CVE-2021-3807)

- json-schema は、オブジェクトプロトタイプ属性の不適切に制御された変更 (「プロトタイプ汚染」) に対して脆弱です (CVE-2021-3918)

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

- Node.js バージョン <14.20.0、<16.20.0、<18.5.0 に OS コマンドインジェクションの脆弱性が存在します。これは、IsIPAddress が DBS リクエストを行う前に IP アドレスが無効かどうかを適切にチェックしないため、容易にバイパスできる IsAllowedHost チェックが不十分なためです。これにより、再バインド攻撃が可能になります。(CVE-2022-32212)

- Node.js の http モジュールの llhttp パーサー <v14.20.1、<v16.17.1、および <v18.9.1 が Transfer-Encoding ヘッダーを正しく解析および検証せず、HTTP Request Smuggling (HRS) につながる可能性があります。(CVE-2022-32213)

- Node.js の http モジュールの <v14.20.1、<v16.17.1 および <v18.9.1 パーサーは、HTTP リクエストの区切りに CRLF シーケンスを厳密には使用しません。これにより、HTTP リクエストスマグリングが引き起こされる可能性があります (HRS)。
(CVE-2022-32214)

- Node.js の http モジュールの llhttp パーサー <v14.20.1、<v16.17.1 および <v18.9.1 が、複数行の Transfer-Encoding ヘッダーを適切に処理しません。これにより、HTTP リクエストスマグリングが引き起こされる可能性があります (HRS)。
(CVE-2022-32215)

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

ソリューション

CentOS 9 Stream nodejs パッケージを更新してください。

参考資料

https://kojihub.stream.centos.org/koji/buildinfo?buildID=24670

プラグインの詳細

深刻度: Critical

ID: 191380

ファイル名: centos9_nodejs-16_16_0-1.nasl

バージョン: 1.1

タイプ: local

エージェント: unix

公開日: 2024/2/29

更新日: 2024/4/26

サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Agentless Assessment, 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: cpe:/a:centos:centos:9, p-cpe:/a:centos:centos:nodejs, p-cpe:/a:centos:centos:nodejs-devel, p-cpe:/a:centos:centos:nodejs-docs, p-cpe:/a:centos:centos:nodejs-full-i18n, p-cpe:/a:centos:centos:nodejs-libs, p-cpe:/a:centos:centos:npm, p-cpe:/a:centos:centos:v8-devel

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

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

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

パッチ公開日: 2022/8/23

脆弱性公開日: 2020/7/7

参照情報

CVE: CVE-2020-15095, CVE-2021-22931, CVE-2021-22939, CVE-2021-22940, CVE-2021-22959, CVE-2021-22960, CVE-2021-27290, CVE-2021-3807, CVE-2021-3918, CVE-2021-43616, CVE-2021-44531, CVE-2021-44532, CVE-2021-44533, CVE-2022-21824, CVE-2022-32212, CVE-2022-32213, CVE-2022-32214, CVE-2022-32215