Oracle Linux 8:nodejs: 14 (ELSA-2022-0350)

critical Nessus プラグイン ID 157333

概要

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

説明

リモートのOracle Linux 8ホストに、ELSA-2022-0350アドバイザリに記載されている複数の脆弱性の影響を受けるパッケージがインストールされています。

-これは、1.3.6より前のパッケージに影響を与えます。攻撃者が悪意のあるINIファイルをini.parseで解析するアプリケーションに送信すると、アプリケーションのプロトタイプが汚染されます。これは、コンテキストによってはさらに悪用される可能性があります。(CVE-2020-7788)

- バージョン 4.4.16、5.0.8、および 6.1.7より前の npm パッケージ tar (別名 node-tar ) には、任意ファイル作成/上書きおよび任意コード実行の脆弱性があります。node-tar は、シンボリックリンクによって場所が変更されるファイルが抽出されないことを保証することを目的としています。これは、抽出されたディレクトリがシンボリックリンクではないことを確認することで、一部は達成されます。さらに、特定のパスがディレクトリであるかどうかを判断するための不要な stat 呼び出しを防ぐために、ディレクトリが作成されるときにパスがキャッシュされます。
ディレクトリとディレクトリと同じ名前のシンボリックリンクの両方を含む tar ファイルを抽出する際に、このロジックは不十分でした。アーカイブエントリのシンボリックリンクとディレクトリ名は、posix システムのパスセパレーターとしてバックスラッシュを使用していました。キャッシュチェックロジックは、パスセパレーターとして「\」と「/」の両方の文字を使用していましたが、「\」は posix システムで有効なファイル名文字です。最初にディレクトリを作成し、次にそのディレクトリをシンボリックリンクに置き換えることで、ディレクトリの node-tar シンボリックリンクチェックをバイパスし、信頼できない tar ファイルを任意の場所にシンボリックリンクさせ、その後そこに任意のファイルを抽出することが可能になりました。任意のファイルの作成および上書きを可能にします。さらに、大文字と小文字を区別しないファイルシステムでも同様の混乱が生じる可能性があります。tar アーカイブが「FOO」にディレクトリを含み、「foo」という名前のシンボリックリンクが続いている場合、大文字と小文字を区別しないファイルシステムでは、シンボリックリンクを作成するとディレクトリがファイルシステムから削除されますが、内部ディレクトリからは削除されません。キャッシュヒットとして扱われないためです。「FOO」ディレクトリ内の後続のファイルエントリは、ディレクトリがすでに作成されていると考えて、シンボリックリンクのターゲットに配置されます。これらの問題は、リリース 4.4.16、5.0.8 および 6.1.7で対処されています。node-tar の v3 ブランチは廃止され、これらの問題に対するパッチを受けませんでした。まだ v3 リリースを使用している場合は、より新しいバージョンの node-tar に更新することをお勧めします。
これが不可能な場合は、GHSA-9r2w-394v-53qc に記載されている回避策を利用できます。(CVE-2021-37701)

- バージョン 4.4.18、5.0.10、および 6.1.9より前の npm パッケージ tar (別名 node-tar ) には、任意ファイル作成/上書きおよび任意コード実行の脆弱性があります。node-tar は、シンボリックリンクによって場所が変更されるファイルが抽出されないことを保証することを目的としています。これは、抽出されたディレクトリがシンボリックリンクではないことを確認することで、一部は達成されます。さらに、特定のパスがディレクトリであるかどうかを判断するための不要な stat 呼び出しを防ぐために、ディレクトリが作成されるときにパスがキャッシュされます。
ディレクトリと同じ値に正規化されたユニコードを含む名前のシンボリックリンクの両方を含む tar ファイルを抽出する際に、このロジックは不十分でした。さらに、Windows システムでは、長いパスの部分が、8.3 の短いパスの部分と同じファイルシステムエンティティに分解されます。したがって、特別に細工された tar アーカイブには、パスの 1 つの形式のディレクトリが含まれ、その後に同じファイルシステムエンティティに分解される異なる文字列のシンボリックリンクが続き、その後に最初の形式を使用するファイルが含まれる可能性があります。最初にディレクトリを作成し、次にそのディレクトリをファイルシステムで同じエントリに分解された明らかに異なる名前を持つシンボリックリンクに置き換えることで、ディレクトリの node-tar シンボリックリンクチェックをバイパスし、信頼できない tar ファイルを任意の場所にシンボリックリンクさせ、その後そこに任意のファイルを抽出し、任意のファイルの作成および上書きが可能でした。これらの問題は、リリース 4.4.18、5.0.10 および 6.1.9で対処されています。
node-tar の v3 ブランチは廃止され、これらの問題に対するパッチを受けませんでした。まだ v3 リリースを使用している場合は、より新しいバージョンの node-tar に更新することをお勧めします。これが不可能な場合は、GHSA-qq89-hq3f-393p に記載されている回避策を利用できます。(CVE-2021-37712)

-これは、5.1.2より前のパッケージ glob-parent に影響を与えます。エンクロージャ正規表現は、パスセパレーターを含むエンクロージャで終わる文字列をチェックするために使用されていました。(CVE-2020-28469)

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

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

- Node.js の normalize-url パッケージの 4.5.1より前、5.3.1 より前の 5.x、および 6.0.1より前の 6.xには、データに対して指数関数的なパフォーマンスがあるため、ReDoS (正規表現のサービス拒否) の問題があります。URLを有する1つ以上のサブモジュールをもつ場合に特に危険です。
(CVE-2021-33502)

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

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

ソリューション

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

参考資料

https://linux.oracle.com/errata/ELSA-2022-0350.html

プラグインの詳細

深刻度: Critical

ID: 157333

ファイル名: oraclelinux_ELSA-2022-0350.nasl

バージョン: 1.4

タイプ: local

エージェント: unix

公開日: 2022/2/2

更新日: 2023/11/17

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

リスク情報

VPR

リスクファクター: High

スコア: 7.3

CVSS v2

リスクファクター: High

基本値: 7.5

現状値: 6.2

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

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

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 9.1

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

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

脆弱性情報

CPE: cpe:/o:oracle:linux:8, p-cpe:/a:oracle:linux:nodejs, p-cpe:/a:oracle:linux:nodejs-devel, p-cpe:/a:oracle:linux:nodejs-docs, p-cpe:/a:oracle:linux:nodejs-full-i18n, p-cpe:/a:oracle:linux:nodejs-nodemon, p-cpe:/a:oracle:linux:nodejs-packaging, p-cpe:/a:oracle:linux:npm

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

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

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

パッチ公開日: 2022/2/2

脆弱性公開日: 2020/12/11

参照情報

CVE: CVE-2020-28469, CVE-2020-7788, CVE-2021-22959, CVE-2021-22960, CVE-2021-33502, CVE-2021-37701, CVE-2021-37712, CVE-2021-3807, CVE-2021-3918

IAVB: 2021-B-0059-S