Amazon Linux 2: openssl-snapsafe (ALASOPENSSL-SNAPSAFE-2023-002)

high Nessus プラグイン ID 182040

概要

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

説明

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

- OpenSSL RSA Decryption 実装にタイミングベースのサイドチャネルが存在するため、Bleichenbacher スタイルの攻撃でネットワーク全体の平文を十分に復元できる可能性があります。復号化を成功させるためには、攻撃者が非常に多くの試行メッセージを復号化のために送信できる必要があります。
この脆弱性は、すべての RSA パディングモードに影響します:PKCS#1 v1.5、RSA-OEAP および RSASVE。たとえば、TLS 接続では、暗号化されたプレマスターシークレットをサーバーに送信するために、RSA が一般的にクライアントによって使用されます。クライアントとサーバー間の真の接続を観察した攻撃者が、この欠陥を利用して、試行メッセージをサーバーに送信し、それらの処理にかかった時間を記録する可能性があります。十分な量のメッセージの後、攻撃者が元の接続に使用されていたプレマスターシークレットを復元し、その接続を介して送信されたアプリケーションデータを復号化できる可能性があります。(CVE-2022-4304)

- パブリック API 関数 BIO_new_NDEF は、BIO を介して ASN.1 データをストリーミングするために使用されるヘルパー関数です。これは、SMIME、CMS、および PKCS7 ストリーミング機能をサポートするために OpenSSL の内部で主に使用されますが、エンドユーザーのアプリケーションから直接呼び出されることもあります。関数は、呼び出し元から BIO を受け取り、その前に新しい BIO_f_asn1 フィルター BIO を追加して BIO チェーンを形成し、BIO チェーンの新しいヘッドを呼び出し元に返します。特定の状況で、たとえば CMS 受信者の公開鍵が無効な場合、新しいフィルター BIO が解放され、関数は失敗を示す NULL の結果を返します。ただし、この場合、BIO チェーンは適切にクリーンアップされず、呼び出し元によって渡された BIO は、以前に解放されたフィルター BIO への内部ポインターを依然として保持します。呼び出し元が BIO で BIO_pop() を呼び出し続けると、メモリ解放後使用 (Use After Free) が発生します。これはおそらくクラッシュにつながります。このシナリオは、内部関数 B64_write_ASN1() で直接発生します。このため、BIO_new_NDEF() が呼び出され、その後 BIO で BIO_pop() 呼び出される可能性があります。この内部関数は、パブリック API 関数 PEM_write_bio_ASN1_stream、PEM_write_bio_CMS_stream、PEM_write_bio_PKCS7_stream、SMIME_write_ASN1、SMIME_write_CMS および SMIME_write_PKCS7 によって順番に呼び出されます。これにより影響を受ける可能性があるその他のパブリック API 関数には、i2d_ASN1_bio_stream、BIO_new_CMS、BIO_new_PKCS7、i2d_CMS_bio_stream、i2d_PKCS7_bio_stream があります。OpenSSL cms および smime コマンドラインアプリケーションも同様に影響を受けます。(CVE-2023-0215)

- X.509 GeneralName 内の X.400 アドレス処理に関連する型の取り違えの脆弱性があります。
X.400 アドレスは ASN1_STRING として解析されていましたが、GENERAL_NAME のパブリック構造体の定義で x400Address フィールドのタイプが ASN1_TYPE として不適切に指定されていました。このフィールドは、その後、OpenSSL 関数 GENERAL_NAME_cmp によって、ASN1_STRING ではなく ASN1_TYPE として解釈されます。CRL チェックが有効な場合 (アプリケーションが X509_V_FLAG_CRL_CHECK フラグを設定するなど)、この脆弱性により、攻撃者が任意のポインターを memcmp 呼び出しに渡し、メモリの内容を読み取ったり、サービス拒否を引き起こしたりする可能性があります。ほとんどの場合、攻撃者は証明書チェーンと CRL の両方を提供する必要があります。どちらも有効な署名を必要としません。攻撃者がこれらの入力の 1 つのみをコントロールする場合、他の入力には CRL 配布ポイントとして X.400 アドレスがすでに含められている必要がありますが、これはよくあることではありません。このため、この脆弱性の影響を受ける可能性が最も高いのは、ネットワークを介して CRL を取得するための独自の機能を実装しているアプリケーションのみです。(CVE-2023-0286)

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

- 証明書の検証時にデフォルト以外のオプションを使用するアプリケーションは、特定のチェックを回避するために、悪意のある 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)

- 問題の要約:一部の特別に細工された 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)

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

ソリューション

[openssl-snapsafe] を実行してシステムを更新してください。

参考資料

https://alas.aws.amazon.com/AL2/ALASOPENSSL-SNAPSAFE-2023-002.html

https://alas.aws.amazon.com/cve/html/CVE-2022-4304.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0215.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0286.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0464.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0465.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0466.html

https://alas.aws.amazon.com/cve/html/CVE-2023-2650.html

https://alas.aws.amazon.com/faqs.html

プラグインの詳細

深刻度: High

ID: 182040

ファイル名: al2_ALASOPENSSL-SNAPSAFE-2023-002.nasl

バージョン: 1.0

タイプ: local

エージェント: unix

公開日: 2023/9/27

更新日: 2023/9/27

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.0

CVSS v2

リスクファクター: High

基本値: 7.1

現状値: 5.3

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

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

CVSS v3

リスクファクター: High

基本値: 7.4

現状値: 6.4

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

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

脆弱性情報

CPE: p-cpe:/a:amazon:linux:openssl-snapsafe, p-cpe:/a:amazon:linux:openssl-snapsafe-debuginfo, p-cpe:/a:amazon:linux:openssl-snapsafe-devel, p-cpe:/a:amazon:linux:openssl-snapsafe-libs, p-cpe:/a:amazon:linux:openssl-snapsafe-perl, p-cpe:/a:amazon:linux:openssl-snapsafe-static, cpe:/o:amazon:linux:2

必要な KB アイテム: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

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

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

脆弱性公開日: 2022/12/15

参照情報

CVE: CVE-2022-4304, CVE-2023-0215, CVE-2023-0286, CVE-2023-0464, CVE-2023-0465, CVE-2023-0466, CVE-2023-2650