CentOS 9 : nodejs-16.20.1-1.el9

high Nessus プラグイン ID 191426

概要

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

説明

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

- process.mainModule.proto.require() で __proto__ を使用すると、ポリシーメカニズムがバイパスされ、policy.json 定義外のモジュールが必要になる可能性があります。この脆弱性は、次のすべてのアクティブなリリースラインで実験的なポリシーメカニズムを使用しているすべてのユーザーに影響します。v16、v18、v20。注意: この CVE が発行された時点では、このポリシーは Node.js の実験的な機能です。(CVE-2023-30581)

- crypto.X509Certificate() API を使用して x509 証明書を作成するために無効な公開鍵が使用されると、予期しない終了が発生し、ユーザーコードから提供された証明書の公開鍵情報にアクセスする際にプロセスが終了するため、攻撃者がアプリケーション処理を強制的に中断させる DoS 攻撃を受ける可能性があります。ユーザーの現在のコンテキストがなくなり、DoS シナリオが発生します。この脆弱性は、すべてのアクティブな Node.js バージョン v16、v18、v20 に影響します。(CVE-2023-30588)

- Node v20.2.0 の http モジュールの llhttp パーサーは、HTTP リクエストの区切りに CRLF シーケンスを厳密には使用しません。これにより、HTTP リクエストスマグリングが引き起こされる可能性があります (HRS)。CR 文字 (LF なし) は、llhttp パーサーの HTTP ヘッダーフィールドを区切るのに十分です。RFC7230 セクション 3 によると、CRLF シーケンスだけが各ヘッダーフィールドを区切る必要があります。これは、次のすべての Node.js アクティブバージョンに影響します。v16、v18、v20 (CVE-2023-30589)

- crypto.createDiffieHellman() から返された generateKeys() API 関数は、欠落している (または古い) 鍵のみを生成します。つまり、何も設定されていない場合にのみ、秘密鍵を生成します。ただし、この関数は setPrivateKey() の呼び出し後に対応する公開鍵を計算するためにも必要です。ただし、ドキュメントにはこの API 呼び出しは、秘密のおよび公開のディフィー・ヘルマン鍵値を生成すると記載されています。文書化された動作は実際の動作とは異なります。DiffieHellman がアプリケーションレベルのセキュリティの基礎として使用される可能性があるため、この相違により、これらの API を使用するアプリケーションでセキュリティの問題が簡単に発生する可能性があります。したがって、その影響は大きくなります。(CVE-2023-30590)

- c-ares は、非同期リゾルバーライブラリです。c-ares をクロスコンパイルし、autotools ビルドシステムを使用する場合、aarch64 android をクロスコンパイルする際に見られるように、CARES_RANDOM_FILE が設定されません。これにより、rand() をフォールバックとして使用するようにダウングレードされるため、攻撃者は、CSPRNG を使用しないことで、エントロピーの欠如を利用できる可能性があります。この問題には、バージョン 1.19.1でパッチが適用されていました。(CVE-2023-31124)

- c-ares は、非同期リゾルバーライブラリです。ares_inet_net_pton() には、特定の ipv6 アドレスに対するバッファアンダーフローの脆弱性があり、特に 0::00:00:00/2 が問題を引き起こすことが判明しました。C-ares は、設定の目的で内部的にのみこの関数を使用します。そのため、管理者は ares_set_sortlist() を介してこのようなアドレスを設定する必要があります。ただし、ユーザーは外部で ares_inet_net_pton() を別の目的で使用することで、より深刻な問題が発生する可能性があります。この問題は 1.19.1で修正されました。(CVE-2023-31130)

- c-ares は、非同期リゾルバーライブラリです。/dev/urandom または RtlGenRandom() が使用できない場合、c-ares は rand() を使用して DNS クエリ ID に使用する乱数を生成します。これは CSPRNG ではなく、また srand() によってシードされないため、予測可能な出力を生成します。乱数発生器からの入力は、非準拠 RC4 実装に供給され、オリジナルの RC4 実装ほど強くない可能性があります。広く利用されている arc4random() のような最新の OS 提供の CSPRNG を探す試みは行われません。この問題はバージョン 1.19.1で修正されています。(CVE-2023-31147)

- c-ares は、非同期リゾルバーライブラリです。c-ares は、サービス拒否に対して脆弱です。ターゲットリゾルバーがクエリを送信する場合、攻撃者は長さが 0 の無効な形式の UDP パケットを偽造し、ターゲットリゾルバーに返します。ターゲットリゾルバーは、長さ 0 を接続の正常なシャットダウンと誤って解釈します。この問題には、バージョン 1.19.1でパッチが適用されています。(CVE-2023-32067)

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

ソリューション

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

参考資料

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

プラグインの詳細

深刻度: High

ID: 191426

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

バージョン: 1.1

タイプ: local

エージェント: unix

公開日: 2024/2/29

更新日: 2024/4/26

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: High

基本値: 7.8

現状値: 6.1

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

CVSS スコアのソース: CVE-2023-30590

CVSS v3

リスクファクター: High

基本値: 7.5

現状値: 6.7

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

現状ベクトル: 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/CentOS/release, Host/CentOS/rpm-list, Host/cpu

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

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

パッチ公開日: 2023/7/17

脆弱性公開日: 2023/5/24

参照情報

CVE: CVE-2023-30581, CVE-2023-30588, CVE-2023-30589, CVE-2023-30590, CVE-2023-31124, CVE-2023-31130, CVE-2023-31147, CVE-2023-32067