概要
リモートの Rocky Linux ホストに、1 つ以上のセキュリティ更新がありません。
説明
リモートのRocky Linux 8ホストには、RLSA-2022:0350アドバイザリに記載された複数の脆弱性の影響を受けるパッケージがインストールされています。
-これは、5.1.2より前のパッケージ glob-parent に影響を与えます。エンクロージャー正規表現は、パスセパレーターを含むエンクロージャーで終わる文字列をチェックするために使用されていました。(CVE-2020-28469)
-これは、1.3.6より前のパッケージに影響を与えます。攻撃者が悪意のあるINIファイルをini.parseで解析するアプリケーションに送信すると、アプリケーションのプロトタイプが汚染されます。これは、コンテキストによってはさらに悪用される可能性があります。(CVE-2020-7788)
- このパーサーは、コロンの前のヘッダー名の直後にスペース (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)
- Node.js の normalize-url パッケージの 4.5.1 より前、5.3.1 より前の 5.x、および 6.0.1 より前の 6.x には、data: URL に対して指数関数的なパフォーマンスがあるため、ReDoS (正規表現のサービス拒否) の問題があります。
(CVE-2021-33502)
- バージョン 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)
- ansi-regex は非効率的な正規表現の複雑性に対して脆弱です (CVE-2021-3807)
- json-schema は、オブジェクトプロトタイプ属性の不適切に制御された変更 (「プロトタイプ汚染」) に対して脆弱です (CVE-2021-3918)
Nessus はこれらの問題をテストしておらず、代わりにアプリケーションの自己報告されたバージョン番号にのみ依存しています。
ソリューション
影響を受けるパッケージを更新してください。
プラグインの詳細
ファイル名: rocky_linux_RLSA-2022-0350.nasl
サポートされているセンサー: Continuous Assessment, 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:F/RL:O/RC:C
脆弱性情報
CPE: p-cpe:/a:rocky:linux:nodejs-docs, p-cpe:/a:rocky:linux:nodejs-packaging, p-cpe:/a:rocky:linux:nodejs-devel, p-cpe:/a:rocky:linux:nodejs, p-cpe:/a:rocky:linux:nodejs-nodemon, p-cpe:/a:rocky:linux:nodejs-full-i18n, p-cpe:/a:rocky:linux:nodejs-debugsource, cpe:/o:rocky:linux:8, p-cpe:/a:rocky:linux:npm, p-cpe:/a:rocky:linux:nodejs-debuginfo
必要な KB アイテム: Host/local_checks_enabled, Host/cpu, Host/RockyLinux/release, Host/RockyLinux/rpm-list
エクスプロイトの容易さ: Exploits are available