Oracle Linux 8:nodejs: 14 (ELSA-2021-3666)

critical Nessus プラグイン ID 153765

概要

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

説明

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

- c-ares:ホスト名の入力検証が行われず、ドメインハイジャックが引き起こされる可能性があります(CVE-2021-3672)

- nodejs: ストリームキャンセル時にhttp2を閉じる際のメモリ解放後使用(Use After Free)(CVE-2021-22930)

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

- バージョン 6.1.2、5.0.7、4.4.15、および3.2.3より前のnpmパッケージtar(別名node-tar)には、不十分なシンボリックリンク保護による任意のファイル作成/上書きの脆弱性があります。 「node-tar」は、シンボリックリンクによって場所が変更されるファイルが抽出されないことを保証することを目的としています。これは、抽出されたディレクトリがシンボリックリンクではないことを確認することで、一部は達成されます。さらに、特定のパスがディレクトリであるかどうかを判断するための不要な「stat」呼び出しを防ぐために、ディレクトリが作成されるときにパスがキャッシュされます。ディレクトリとディレクトリと同じ名前のシンボリックリンクの両方を含むtarファイルを抽出する際に、このロジックは不十分でした。この操作順序により、ディレクトリが作成され、「node-tar」ディレクトリキャッシュに追加されました。ディレクトリがディレクトリキャッシュにある場合、そのディレクトリに対する後続のmkdirの呼び出しはスキップされます。ただし、これはシンボリックリンクの「node-tar」チェックが行われる場所でもあります。最初にディレクトリを作成し、次にそのディレクトリをシンボリックリンクに置き換えることで、ディレクトリの「node-tar」シンボリックリンクチェックをバイパスし、信頼できないtarファイルを任意の場所にシンボリックリンクさせ、その後そこに任意のファイルを抽出することが可能になりました。任意のファイルの作成および上書きを可能にします。この問題は、リリース3.2.3、4.4.15、5.0.7および6.1.2で対処されています。(CVE-2021-32803)

- バージョン6.1.1、5.0.6、4.4.14、および3.3.2より前のnpmパッケージtar(別名node-tar)には、絶対パスサニタイズが不十分なため、任意のファイル作成/上書きの脆弱性があります。 node-tarは、「preservePaths」フラグが「true」に設定されていない場合に、絶対パスを相対パスに変換することで、絶対ファイルパスの抽出を防ぐことを目的としています。これは、tarファイルに含まれる絶対ファイルパスから絶対パスルートを取り除くことで達成されます。たとえば、「/home/user/.bashrc」は「home/user/.bashrc」になります。ファイルパスに「////home/user/.bashrc」などの繰り返されるパスルートが含まれる場合、このロジックは不十分でした。
「node-tar」は、そのようなパスから単一のパスルートのみを削除します。繰り返しパスルートを持つ絶対ファイルパスが与えられた場合、結果のパス(例:「///home/user/.bashrc」)は依然として絶対パスに解決され、任意のファイルの作成および上書きが可能になります。この問題は、リリース3.2.2、4.4.14、5.0.6および6.1.1で対処されています。ユーザーは、「entry.path」をサニタイズするカスタムの「onentry」メソッド、または絶対パスを持つエントリを削除する「filter」メソッドを作成することで、アップグレードせずにこの脆弱性を回避できます。詳細については、GitHubアドバイザリを参照してください。CVE-2021-32803に注意してください。これにより、新しいバージョンのtarで同様のバグが修正されます。(CVE-2021-32804)

- パッケージpath-parseのすべてのバージョンは、splitDeviceRe、splitTailRe、およびsplitPathRe正規表現を介した正規表現のサービス拒否(ReDoS)に対して脆弱です。ReDoSは、多項式の最悪の場合の時間の複雑さを示しています。(CVE-2021-23343)

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

ソリューション

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

参考資料

https://linux.oracle.com/errata/ELSA-2021-3666.html

プラグインの詳細

深刻度: Critical

ID: 153765

ファイル名: oraclelinux_ELSA-2021-3666.nasl

バージョン: 1.6

タイプ: local

エージェント: unix

公開日: 2021/9/27

更新日: 2023/11/29

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: High

Base Score: 7.5

Temporal Score: 5.9

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

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

CVSS v3

リスクファクター: Critical

Base Score: 9.8

Temporal Score: 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:/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/local_checks_enabled, Host/RedHat/release, Host/RedHat/rpm-list, Host/OracleLinux

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

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

パッチ公開日: 2021/9/27

脆弱性公開日: 2021/5/4

参照情報

CVE: CVE-2021-22930, CVE-2021-22931, CVE-2021-22939, CVE-2021-22940, CVE-2021-23343, CVE-2021-32803, CVE-2021-32804, CVE-2021-3672

IAVB: 2021-B-0050-S