Juniper Junos OSの複数の脆弱性 (JSA69715)

high Nessus プラグイン ID 166767

概要

リモートデバイスに、ベンダーが提供したセキュリティパッチがありません。

説明

リモートホストにインストールされたJunos OSのバージョンは、JSA69715アドバイザに記載されている複数の脆弱性の影響を受けます。

- Raccoon 攻撃は、TLS 仕様の欠陥を悪用します。これにより、攻撃者が、ディフィー・ヘルマン (DH) ベースの暗号スイートを使用した接続でプリマスターシークレットを計算できる可能性があります。このような場合、攻撃者は、TLS接続で送信されたすべての暗号化された通信を盗聴できるようになります。この攻撃は、実装が複数のTLS接続でDHシークレットを再使用する場合にのみ悪用される可能性があります。注意:この問題の影響を受けるのは、DH暗号スイートのみで、ECDH暗号スイートは影響を受けません。
この問題はOpenSSL 1.0.2に影響を与えます。OpenSSLはサポートが終了しており、今後は一般の更新を受け取れません。OpenSSL 1.1.1は、この問題に対して脆弱ではありません。OpenSSL 1.0.2wで修正されました(1.0.2-1.0.2vが影響を受けます)。(CVE-2020-1968)

- X.509 GeneralName 型は、さまざまなタイプの名前を表現するための汎用型です。それらの名前の型の 1 つが 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)

- ASN.1 文字列は OpenSSL 内部で ASN1_STRING 構造として表されます。この構造には、文字列データを保持するバッファと、バッファ長を保持するフィールドが含まれます。通常の C 文字列とは対照的です。C 文字列は、NUL (0) バイトで終了する文字列データではバッファとして表されます。厳密に必須ではないものの、OpenSSL 独自の d2i 関数 (および類似の解析関数) を使用して解析される ASN.1 文字列、および ASN1_STRING_set() 関数を使用して設定される値が含まれる文字列は、ASN1_STRING 構造のバイト配列を NUL 終端させることにもなります。ただし、ASN1_STRING 配列でデータと長さのフィールドを直接設定することにより、アプリケーションがバイト配列を NUL 終端させることのない、有効な ASN1_STRING 構造を直接的に構成することができます。これは、ASN1_STRING_set0() 関数を使用する場合にも生じる可能性があります。ASN.1 データを出力する多くの OpenSSL 関数で、直接構成されたこと文字列であることが保証されていない場合でも、ASN1_STRING バイト配列が NUL 終端されることが分かっています。アプリケーションによって ASN.1 構造の出力がリクエストされる場合、ASN.1 構造に、データフィールが NUL 終端することなくアプリケーションによって直接構成された ASN1_STRING が含まれていると、読み取りバッファのオーバーランが生じる可能性があります。同様の状況が証明書の名前制限の処理中にも生じることがあります (例えば、OpenSSL 解析関数によってロードされるのではなく、アプリケーションによって直接構成された証明書がある場合、その証明書に NUL 終端されていない ASN1_STRING 構造が含まれているときなどです)。また、X509_get1_email() 関数、X509_REQ_get1_email() 関数、および X509_get1_ocsp() 関数でも生じる可能性があります。悪意のあるアクターがアプリケーションで ASN1_STRING を直接構成させ、影響のあるいずれかの OpenSSL 関数で処理すると、この問題が引き起こされることがあります。結果としてクラッシュする可能性があります (サービス拒否攻撃が生じます)。
また、専用メモリのコンテンツ (秘密鍵、秘密情報を含む平文など) が漏洩することがあります。OpenSSL 1.1.1l で修正されました (1.1.1-1.1.1k が影響を受けます)。OpenSSL 1.0.2za で修正されました (Affected 1.0.2-1.0.2y が影響を受けます)。(CVE-2021-3712)

- OpenSSL 1.0.2は SSLv2 をサポートしています。クライアントが、SSLv2とさらに新しいSSLおよびTLSバージョンの両方をサポートするように構成されているサーバーとSSLv2をネゴシエートしようとする場合、RSA署名をパディング解除するとき、バージョンロールバック攻撃の有無がチェックされます。SSLまたはSSLv2より後のTLSバージョンをサポートするクライアントは、特別な形式のパディングを使用することになっています。SSLv2より後をサポートするサーバーは、この特殊な形式のパディングが存在するクライアントからの接続試行を拒否することになっています。これはバージョンロールバックが発生したことを示しているためです(つまり、クライアントとサーバーの両方がSSLv2より後をサポートしており、同時にリクエストされているバージョンである)。このパディングチェックの実装では、ロジックが逆になりました。パディングが存在する場合に、接続試行が受け入れられ、そうでない場合は拒否されるようにするためです。これは、バージョンロールバック攻撃が発生した場合に、サーバーなどが接続を受け入れることを意味します。さらに、通常のSSLv2接続試行が行われた場合、サーバーが誤って接続を拒否します。バージョン1.0.2sから 1.0.2x のOpenSSL 1.0.2 サーバーのみがこの問題の影響を受けます。1.0.2サーバーが脆弱である要件:1)コンパイル時にSSLv2サポートを構成している(これはデフォルトでオフ)、2)ランタイムにSSLv2サポートを構成している(これはデフォルトでオフ)、3)SSLv2暗号スイート(これらはデフォルトの暗号スイートリストにない)を構成している。OpenSSL 1.1.1 は SSLv2 をサポートしていないため、この問題に脆弱ではありません。潜在的なエラーは、RSA_padding_check_SSLv23()関数の実装にあります。これは、さまざまな他の関数によって使用されるRSA_SSLV23_PADDINGパディングモードにも影響します。1.1.1 は SSLv2 をサポートしていませんが、RSA_padding_check_SSLv23()関数はまだ存在しています。RSA_SSLV23_PADDINGパディングモードも同様です。その関数を直接呼び出すアプリケーション、またはそのパディングモードを使用するアプリケーションでは、この問題が発生します。
しかしながら、1.1.1にSSLv2プロトコルのサポートがないため、これはバグとみなされ、そのバージョンではセキュリティ問題ではありません。OpenSSL 1.0.2はサポートが終了しており、今後は一般の更新を受け取れません。
OpenSSL1.0.2のプレミアムサポートのお客様は1.0.2yにアップグレードする必要があります。その他のユーザーは、1.1.1jにアップグレードする必要があります。
OpenSSL 1.0.2yで修正されました(Affected 1.0.2s~1.0.2xが影響を受けます)。(CVE-2021-23839)

-EVP_CipherUpdate、EVP_EncryptUpdateおよびEVP_DecryptUpdateへの呼び出しは、入力長がプラットフォーム上の整数の最大許容長さに近い場合、出力長引数をオーバーフローすることがあります。このような場合、関数呼び出しからの戻り値は 1 (成功を示す) になりますが、出力の長さの値は負になります。これにより、アプリケーションが不適切に動作したり、クラッシュしたりする可能性があります。
OpenSSL バージョン1.1.1i 以下は、この問題の影響を受けます。これらのバージョンのユーザーは、OpenSSL 1.1.1j にアップグレードする必要があります。OpenSSL バージョン 1.0.2x以下はこの問題の影響を受けます。しかしながら、OpenSSL 1.0.2はサポートが終了しており、今後は一般の更新を受け取れません。OpenSSL 1.0.2のプレミアムサポートのお客様はにアップグレードする必要があります。その他のユーザーは、1.0.2y にアップグレードする必要があります。OpenSSL 1.1.1j で修正されました (1.1.1 ~ 1.1.1i が影響を受けます)。
OpenSSL 1.0.2yで修正されました (1.0.2~1.0.2xが影響を受けます) (CVE-2021-23840)

- OpenSSLパブリックAPI関数X509_issuer_and_serial_hash()は、X509の証明書に含まれている発行者およびシリアルナンバーデータに基づき、一意のハッシュ値の作成を試みます。ただし、発行者フィールドの解析中に発生する可能性のあるエラー (発行者フィールドが悪意を持って構築された場合に発生する可能性がある) を、適切に処理できません。その後、NULLポインターのderefとクラッシュに至り、サービス拒否攻撃を引き起こす可能性があります。X509_issuer_and_serial_hash () 関数は、OpenSSL自体によって直接呼び出されることはありません。このため、アプリケーションは、この関数を直接使用し、信頼できないソースから取得した証明書でこの関数を使用する場合にのみ脆弱です。OpenSSLバージョン1.1.1i以下は、この問題の影響を受けます。これらのバージョンのユーザーは、OpenSSL 1.1.1j にアップグレードする必要があります。OpenSSL バージョン 1.0.2x以下はこの問題の影響を受けます。しかしながら、OpenSSL 1.0.2はサポートが終了しており、今後は一般の更新を受け取れません。OpenSSL 1.0.2のプレミアムサポートのお客様はにアップグレードする必要があります。その他のユーザーは、1.0.2y にアップグレードする必要があります。OpenSSL 1.1.1j で修正されました (1.1.1 ~ 1.1.1i が影響を受けます)。OpenSSL 1.0.2y で修正されました (1.0.2 ~ 1.0.2x が影響を受けます)。(CVE-2021-23841)

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

ソリューション

Juniper アドバイザリ JSA69715に記載されている該当の Junos ソフトウェアリリースを適用してください

参考資料

https://kb.juniper.net/JSA69715

プラグインの詳細

深刻度: High

ID: 166767

ファイル名: juniper_jsa69715.nasl

バージョン: 1.5

タイプ: combined

公開日: 2022/11/1

更新日: 2023/10/6

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.0

CVSS v2

リスクファクター: Medium

基本値: 5.8

現状値: 4.8

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

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

CVSS v3

リスクファクター: High

基本値: 7.4

現状値: 6.9

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

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

脆弱性情報

CPE: cpe:/o:juniper:junos

必要な KB アイテム: Host/Juniper/JUNOS/Version

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

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

パッチ公開日: 2022/7/13

脆弱性公開日: 2020/9/9

参照情報

CVE: CVE-2020-1968, CVE-2020-1971, CVE-2021-23839, CVE-2021-23840, CVE-2021-23841, CVE-2021-3712

JSA: JSA69715