OpenSSL 1.0.2 < 1.0.2zh 複数の脆弱性

medium Nessus プラグイン ID 173268

概要

リモートサービスは、複数の脆弱性の影響を受けます。

説明

リモートホストにインストールされている OpenSSL のバージョンは、1.0.2zh より前です。したがって、1.0.2zh のアドバイザリに記載されている複数の脆弱性の影響を受けます。

- 問題の要約: 一部の特別に細工された ASN.1 オブジェクト識別子、またはそれらを含むデータの処理が非常に遅くなる場合があります。影響の要約: OBJ_obj2txt() を直接使用したり、メッセージサイズ制限のない OpenSSL サブシステム OCSP、PKCS7/SMIME、CMS、CMP/CRMF または TS のいずれかを使用したりするアプリケーションでは、これらのメッセージを処理するときに非常に長い遅延が発生し、サービス拒否につながる可能性があります。OBJECT IDENTIFIER は一連の番号 (サブ識別子) で構成され、そのほとんどにサイズ制限がありません。
OBJ_obj2txt() は、DER エンコーディング形式で (OpenSSL タイプ ASN1_OBJECT を使用して) 与えられた ASN.1 OBJECT IDENTIFIER を、ピリオドで区切られた 10 進形式の OBJECT IDENTIFIER のサブ識別子である、その正規の数値テキスト形式に変換するために使用できます。OBJECT IDENTIFIER のサブ識別子の 1 つが非常に大きい (これらは、数十または数百 KiB を占めるような非常に大きいサイズ) 場合、テキストの 10 進数への変換に非常に長い時間がかかる場合があります。時間の複雑性は、サブ識別子のバイトサイズ (*) を「n'」とすると、O(n^2) です。OpenSSL 3.0で、文字列形式の名前 / 識別子を使用して暗号アルゴリズムをフェッチするサポートが導入されました。これには、フェッチするアルゴリズムの識別子として、正規の数値テキスト形式の OBJECT IDENTIFIER の使用が含まれます。このような OBJECT IDENTIFIER は、ASN.1 構造の AlgorithmIdentifier を通じて受信される可能性があります。これは、渡されたデータの署名または検証、暗号化または復号化、またはダイジェストに使用する暗号化アルゴリズムを指定するために、複数のプロトコルで一般的に使用されます。OBJ_obj2txt() を信頼できないデータで直接呼び出すアプリケーションは、OpenSSL の全バージョンで影響を受けます。表示のみの目的であれば、深刻度は低いと考えられます。OpenSSL 3.0以降では、これは OCSP、PKCS7/SMIME、CMS、CMP/CRMF または TS のサブシステムに影響します。また、署名の検証などの単純なものも含め、X.509 証明書を処理するあらゆるものに影響を与えます。OpenSSL のすべてのバージョンで、ピアの証明書チェーンに 100KiB の制限があるため、TLS への影響は比較的低いです。さらに、これはクライアント、または明示的にクライアント認証を有効にしているサーバーにのみ影響を与えます。OpenSSL 1.1.1および 1.0.2では、これは X.509 証明書などの多様なオブジェクトの表示にのみ影響します。これは、サービス拒否を引き起こすような方法で発生しないと想定されているため、これらのバージョンは、懸念されるような影響はないと考えられるため、深刻度は低いと思われます。(CVE-2023-2650)

- 証明書の検証時にデフォルト以外のオプションを使用するアプリケーションは、特定のチェックを回避するために、悪意のある CA からの攻撃に対して脆弱である可能性があります。リーフ証明書の無効な証明書ポリシーは、OpenSSL によって警告なしに無視され、その証明書に対する他の証明書ポリシーのチェックはスキップされます。悪質な CA がこれを使用して、証明書のポリシーチェックを完全に回避するために、無効な証明書ポリシーを意図的にアサートする可能性があります。ポリシー処理はデフォルトで無効化されていますが、「-policy」引数をコマンドラインユーティリティに渡すか、「X509_VERIFY_PARAM_set1_policies()」関数を呼び出すことによって有効化できます。(CVE-2023-0465)

- 関数 X509_VERIFY_PARAM_add0_policy() が文書化され、証明書の検証を行う際に、証明書ポリシーチェックが暗黙的に有効になります。ただし、関数の実装はチェックを有効にしません。これにより、無効または不適切なポリシーを持つ証明書が証明書検証に合格する可能性があります。
ポリシーチェックを突然有効にすると、既存のデプロイメントが中断する可能性があるため、X509_VERIFY_PARAM_add0_policy() 関数の既存の動作を維持することが決定されました。代わりに、証明書ポリシーチェックを実行するために OpenSSL を必要とするアプリケーションは、X509_VERIFY_PARAM_set1_policies() を使用するか、X509_VERIFY_PARAM_set_flags() を X509_V_FLAG_POLICY_CHECK フラグ引数で呼び出して、ポリシーチェックを明示的に有効にする必要があります。
証明書ポリシーのチェックは、OpenSSL ではデフォルトで無効になっており、アプリケーションでは通常使用されません。
(CVE-2023-0466)

- ポリシーの制約を含む X.509 証明書チェーンの検証に関連する、OpenSSL のサポートされているすべてのバージョンで、セキュリティの脆弱性が見つかりました。攻撃者は悪質な証明書チェーンを作成して計算リソースを指数関数的に使用することでこの脆弱性を悪用し、影響を受けるシステムでサービス拒否 (DoS) 攻撃を引き起こす可能性があります。ポリシー処理はデフォルトで無効化されていますが、「-policy」引数をコマンドラインユーティリティに渡すか、「X509_VERIFY_PARAM_set1_policies()」関数を呼び出すことによって有効化できます。(CVE-2023-0464)

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

ソリューション

OpenSSL バージョン 1.0.2zh 以降にアップグレードしてください。

参考資料

https://www.openssl.org/news/secadv/20230328.txt

https://www.openssl.org/news/secadv/20230530.txt

https://www.openssl.org/policies/general/security-policy.html

https://www.openssl.org/policies/secpolicy.html

https://www.openssl.org/news/secadv/20230322.txt

https://www.cve.org/CVERecord?id=CVE-2023-0464

https://www.cve.org/CVERecord?id=CVE-2023-0465

https://www.cve.org/CVERecord?id=CVE-2023-0466

https://www.cve.org/CVERecord?id=CVE-2023-2650

プラグインの詳細

深刻度: Medium

ID: 173268

ファイル名: openssl_1_0_2zh.nasl

バージョン: 1.10

タイプ: combined

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

ファミリー: Web Servers

公開日: 2023/3/22

更新日: 2024/6/7

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

リスク情報

VPR

リスクファクター: Medium

スコア: 4.4

CVSS v2

リスクファクター: Medium

基本値: 5

現状値: 3.7

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

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

CVSS v3

リスクファクター: Medium

基本値: 5.3

現状値: 4.6

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

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

脆弱性情報

CPE: cpe:/a:openssl:openssl

必要な KB アイテム: installed_sw/OpenSSL

エクスプロイトの容易さ: No known exploits are available

パッチ公開日: 2023/3/21

脆弱性公開日: 2023/3/21

参照情報

CVE: CVE-2023-0464, CVE-2023-0465, CVE-2023-0466, CVE-2023-2650

IAVA: 2023-A-0158-S