Node.js 10.x < 10.23.1 / 12.x < 12.20.1 / 14.x < 14.15.4 / 15.x < 15.5.1 複数の脆弱性

high Nessus プラグイン ID 144949

概要

Node.js - JavaScript Runtime Environmentは複数の脆弱性の影響を受けます。

説明

リモートホストにインストールされているNode.jsのバージョンは、10.23.1より前の10.x、12.20.1より前の12.x、14.15.4より前の14.x、または15.5.1より前の15.xです。したがって、january-2021-security-releasesのアドバイザリに記載されている複数の脆弱性の影響を受けます。

- X.509 GeneralName型は、さまざまなタイプの名前を表現するための汎用型です。それらの名前の型の一つがEDIPartyNameとして知られています。OpenSSLはGENERAL_NAME_cmp関数を提供しており、GENERAL_NAMEの異なるインスタンスを比較して、それらが等しいかどうかを確認します。この関数は両方のGENERAL_NAMEがEDIPARTYNAMEを含んでいるときに正しく動作しません。NULLポインターディファレンスが発生し、クラッシュが発生してサービス拒否攻撃を受ける可能性があります。OpenSSL自体は、次の2つの目的でGENERAL_NAME_cmp関数を使用します。1)使用可能なCRLとX509証明書に埋め込まれたCRL配布ポイント間のCRL配布ポイント名の比較。2)タイムスタンプ応答トークン署名者がタイムスタンプ機関名と一致することを確認する場合。(API関数TS_RESP_verify_responseおよびTS_RESP_verify_tokenを介して公開)攻撃者が比較される両方のアイテムを制御できる場合、その攻撃者はクラッシュを引き起こす可能性があります。たとえば、攻撃者がクライアントやサーバーをtrickして、悪意のあるCRLに対して悪意のある証明書をチェックさせると、これが発生する可能性があります。注意:一部のアプリケーションは、証明書に埋め込まれたURLに基づいてCRLを自動的にダウンロードします。このチェックは、証明書とCRLの署名が検証される前に行われます。
OpenSSLのs_server、s_client、および検証ツールは、CRLの自動ダウンロードを実装する-crl_downloadオプションをサポートしており、この攻撃はこれらのツールに対して機能することが実証されています。関連のないバグとは、影響を受けるバージョンのOpenSSLがEDIPARTYNAMEの正しいエンコーディングを解析または構築できないことを意味します。ただし、OpenSSLのパーサーが受け入れる無効な形式のEDIPARTYNAMEが構築され、この攻撃が発生する可能性があります。OpenSSLのすべてのバージョン1.1.1および1.0.2は、この問題の影響を受けます。
他のOpenSSLリリースはサポート対象外であり、チェックされていません。OpenSSL 1.1.1iで修正されました(1.1.1-1.1.1hが影響を受けます)。OpenSSL 1.0.2xで修正されました(1.0.2~1.0.2wが影響を受けます)。(CVE-2020-1971)

-10.23.1、12.20.1、14.15.4、15.5.1の前の Node.jsバージョンにより、HTTPリクエスト内のヘッダーフィールドを2つコピーすることが可能です。(例えば、 2つのTransfer-Encodingヘッダーフィールド)。この場合、Node.jsは最初のヘッダーフィールドを識別し、2番目のヘッダーフィールドを無視します。これにより、HTTPリクエストスマグリングが引き起こされる可能性があります。 (CVE-2020-8287)

-10.23.1、12.20.1、14.15.4、15.5.1の前のNode.jsバージョンは 、TLSの実装におけるUse-After-Freeバグに対して脆弱です。TLSが有効なソケットに書き込む場合、ノード::StreamBase::書き込み呼び出しノード::TLSWrap::新たに割り当てられたWriteWrapオブジェクトを最初の引数とするDoWrite。DoWriteメソッドがエラーを返さない場合、このオブジェクトはStreamWriteResult構造の一部として呼び出し側に返されます。これが悪用されてメモリが破損し、サービス拒否またはその他の悪用につながる可能性があります。 (CVE-2020-8265)

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

ソリューション

Node.jsのバージョンを 10.23.1 / 12.20.1 / 14.15.4 / 15.5.1 以降にアップグレードしてください。

参考資料

http://www.nessus.org/u?c59c0b90

プラグインの詳細

深刻度: High

ID: 144949

ファイル名: nodejs_2021_jan.nasl

バージョン: 1.10

タイプ: local

エージェント: windows, macosx, unix

ファミリー: Misc.

公開日: 2021/1/14

更新日: 2024/1/30

設定: 徹底したチェックを有効にする

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: Medium

基本値: 6.8

現状値: 5.3

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

CVSS スコアのソース: CVE-2020-8265

CVSS v3

リスクファクター: High

基本値: 8.1

現状値: 7.3

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

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

脆弱性情報

CPE: cpe:/a:nodejs:node.js

必要な KB アイテム: installed_sw/Node.js

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

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

パッチ公開日: 2021/1/4

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

参照情報

CVE: CVE-2020-1971, CVE-2020-8265, CVE-2020-8287

IAVB: 2021-B-0004-S