Nutanix AOS : 複数の脆弱 (NXSA-AOS-6.5.6.6)

critical Nessus プラグイン ID 206674

概要

Nutanix AOS ホストは、複数の脆弱性の影響を受けます。

説明

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

- 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 で修正されました (1.0.2-1.0.2y が影響を受けます)。(CVE-2021-3712)

- 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 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)

- 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)

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

ソリューション

Nutanix AOS ソフトウェアを推奨バージョンに更新してください。アップグレードの前に: このクラスターを Prism Central に登録する場合は、まず Prism Central を互換性のあるバージョンにアップグレードしてください。Nutanix ポータルのソフトウェア製品の相互運用性ページを参照してください。

参考資料

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

プラグインの詳細

深刻度: Critical

ID: 206674

ファイル名: nutanix_NXSA-AOS-6_5_6_6.nasl

バージョン: 1.8

タイプ: local

ファミリー: Misc.

公開日: 2024/9/5

更新日: 2025/2/17

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

リスク情報

VPR

リスクファクター: High

スコア: 7.3

CVSS v2

リスクファクター: Medium

基本値: 5.8

現状値: 4.5

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

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

CVSS v3

リスクファクター: High

基本値: 7.4

現状値: 6.7

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

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

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

CVSS v4

リスクファクター: Critical

Base Score: 9.3

Threat Score: 8.9

Threat Vector: CVSS:4.0/E:P

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

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

脆弱性情報

CPE: cpe:/o:nutanix:aos

必要な KB アイテム: Host/Nutanix/Data/lts, Host/Nutanix/Data/Service, Host/Nutanix/Data/Version, Host/Nutanix/Data/arch

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

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

パッチ公開日: 2024/9/5

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

参照情報

CVE: CVE-2020-1971, CVE-2021-3712, CVE-2022-0778, CVE-2022-4304, CVE-2023-0215, CVE-2023-0286, CVE-2024-32487