Nutanix AHV : 複数の脆弱性 (NXSA-AHV-20230302.207)

critical Nessus プラグイン ID 180469

概要

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

説明

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

- 2.4.3 より前の Expat (別名: libexpat) では、xmlparse.c の storeAtts 関数で 29 (またはそれ以上) の左シフトを行うと、realloc の挙動がおかしくなります (例: 割り当てバイト数が少なすぎたり、メモリを解放したりするだけになってしまう)。
(CVE-2021-45960)

- 2.4.3以前の Expat (別名 : libexpat) の xmlparse.c の doProlog で、m_groupSize に整数オーバーフローが存在します。(CVE-2021-46143)

- 2.4.3以前の Expat (別名 : libexpat) の xmlparse.c の addBinding に整数オーバーフローがあります。(CVE-2022-22822)

- 2.4.3以前の Expat (別名 : libexpat) の xmlparse.c の build_model に整数オーバーフローがあります。(CVE-2022-22823)

- 2.4.3以前の Expat (別名 : libexpat) の xmlparse.c の defineAttribute に整数オーバーフローがあります。
(CVE-2022-22824)

- 2.4.3以前の Expat (別名 : libexpat) の xmlparse.c の lookup に整数オーバーフローがあります。(CVE-2022-22825)

- 2.4.3以前の Expat (別名 : libexpat) の xmlparse.c の nextScaffoldPart に整数オーバーフローがあります。
(CVE-2022-22826)

- 2.4.3以前の Expat (別名 : libexpat) の xmlparse.c の storeAtts に整数オーバーフローがあります。(CVE-2022-22827)

- 2.4.4以前の Expat (別名 : libexpat) では、XML_CONTEXT_BYTES がゼロでない設定の XML_GetBuffer に符号付き整数オーバーフローがあります。(CVE-2022-23852)

- 2.4.5より前の Expat (別名 libexpat) の xmltok_impl.c には、UTF-8 文字が特定のコンテキストで有効かどうかのチェックなど、エンコーディングの特定の検証がありません。(CVE-2022-25235)

- 2.4.5より前の Expat (別名 libexpat) の xmlparse.c により、攻撃者が名前空間 URI に名前空間セパレーター文字を挿入することが可能です。(CVE-2022-25236)

- 2.4.5より前の Expat (別名 libexpat) では、storeRawNames に整数オーバーフローがあります。(CVE-2022-25315)

- GNU gzip の zgrep ユーティリティに、任意のファイル書き込みの脆弱性が見つかりました。攻撃者が選択したファイル名 (細工されたファイル名など) に zgrep を適用すると、攻撃者が選択したファイルに攻撃者のコンテンツが上書きされる可能性があります。この欠陥は、2 つ以上の改行のあるファイル名を処理する際の検証が不十分なために発生し、選択されたコンテンツとターゲットファイル名が細工された複数行のファイル名に埋め込まれています。この欠陥により、権限の弱いリモート攻撃者が、zgrep にシステム上の任意のファイルの書き込みを強制させる可能性があります。(CVE-2022-1271)

- Python 3.5.10 以前の 3.x、3.6.12 以前の 3.6.x、3.7.9 以前の 3.7.x、および 3.8.5 以前の 3.8.x の http.client では、HTTPConnection.request. の最初の引数に CR および LF 制御文字を挿入することで実証されているように、攻撃者が HTTP リクエストメソッドを制御すれば CRLF インジェクションが可能です。(CVE-2020-26116)

- 1.25.9より前のurllib3では、攻撃者がHTTPリクエストメソッドを制御すれば、putrequest()の最初の引数にCRおよびLF制御文字を挿入することで実証されているように、CRLFインジェクションが可能です。注意: これはCVE-2020-26116に類似しています。(CVE-2020-26137)

- Python3.xから3.9.1は、_ctypes/callproc.cのPyCArg_reprのバッファオーバーフローがあります。これにより、浮動小数点を信頼できない入力として受け入れる特定のPythonアプリケーションで、リモートコード実行が引き起こされることがあります。これは、c_double.from_paramに対する1e300引数で実証されています。これは、sprintf が安全でない方法で使用されているために発生します。(CVE-2021-3177)

- 3.2.5 以前の rsync で、悪質なリモートサーバーが接続ピアのディレクトリ内に任意のファイルを書き込むことを可能にする問題が発見されました。サーバーは、クライアントに送信されるファイル/ディレクトリを選択します。ただし、rsync クライアントはファイル名の検証を不十分にします。悪質な rsync サーバー (または中間者攻撃の攻撃者) が、rsync クライアントのターゲットディレクトリおよびサブディレクトリにある任意のファイルを上書きする可能性があります (たとえば、.ssh/authorized_keys ファイルを上書きする)。(CVE-2022-29154)

- モジュラー平方根を計算する BN_mod_sqrt() 関数に、非素数の係数に対して永久にループするバグが含まれています。内部的に、この関数は圧縮形式の楕円曲線公開鍵または圧縮形式でエンコードされたベースポイントを持つ明示的な楕円曲線パラメーターを含む証明書を解析する際に使用されます。無効な明示的な曲線パラメーターを持つ証明書を作成することで、無限ループを発生させることが可能です。証明書の解析は、証明書の署名の検証前に行われるため、外部から提供された証明書を解析するプロセスは、サービス拒否攻撃を受ける可能性があります。細工された秘密鍵を解析する際に、明示的な楕円曲線パラメーターを含む可能性があるため、無限ループに達する可能性もあります。したがって、以下の脆弱な状況が含まれます。- サーバー証明書を消費する TLS クライアント - クライアント証明書を消費する TLS サーバー - 顧客から証明書または秘密鍵を取得するホスティングプロバイダー - サブスクライバーからの証明書リクエストを解析する認証局 - ASN.1 楕円曲線パラメーターを解析するその他のもの。攻撃者がパラメーター値をコントロールできる場合、BN_mod_sqrt() を使用するその他のアプリケーションは、この DoS の問題に対して脆弱です。OpenSSL 1.0.2バージョンでは、証明書の初期解析中に公開鍵が解析されないため、無限ループを発生させることがわずかに困難になります。ただし、証明書の公開鍵が必要な何らかの操作を行うと、無限ループが発生します。特に、攻撃者は自己署名証明書を使用して、証明書署名の検証中にループを発生させる可能性があります。OpenSSL バージョン、1.0.21.1.1および 3.0は、この問題の影響を受けます。これは 2022 年 3 月 15 日の 1.1.1n および 3.0.2のリリースで対処されました。OpenSSL 3.0.2で修正されました (3.0.0、3.0.1が影響を受けました)。OpenSSL 1.1.1n で修正されました (1.1.1-1.1.1m が影響を受けました)。OpenSSL 1.0.2zd で修正されました (1.0.2-1.0.2zc が影響を受けました)。(CVE-2022-0778)

- 3003.3 以前の SaltStack Salt で問題が見つかりました。ソースおよび source_hash URL を制御できるユーザーは、salt minion の root としてファイルシステムの完全なアクセス権を取得できます。(CVE-2021-21996)

- 戻り命令に対する誤ってトレーニングされた分岐予測により、特定のマイクロアーキテクチャ依存の条件下で、任意の投機的コードが実行される可能性があります。(CVE-2022-29900)

- Intel マイクロプロセッサー第 6 世代から第 8 世代は、新しい Spectre バリアントの影響を受け、カーネルでの retpoline 緩和策をバイパスし、任意のデータを漏洩することが可能です。権限のないユーザーアクセス権を持つ攻撃者が、リターン命令をハイジャックして、特定のマイクロアーキテクチャ依存の条件下で、任意の投機的コードを実行する可能性があります。(CVE-2022-29901)

- 1.2.12より前の zlib は、入力に多くの遠方の一致がある場合、デフレート (圧縮) の際にメモリ破損を引き起こす可能性があります。(CVE-2018-25032)

- systemd にメモリ解放後使用 (Use After Free) の脆弱性が見つかりました。この問題は、「resolved-dns-stream.c」の on_stream_io() 関数および dns_stream_complete() 関数が、DnsStream オブジェクトの参照カウントをインクリメントしないために発生します。したがって、呼び出された他の関数やコールバックが DNSStream オブジェクトを逆参照し、参照が後でまだ使用されているときにメモリ解放後使用 (Use After Free) を引き起こす可能性があります。(CVE-2022-2526)

- 2.4.9より前の libexpat は、xmlparse.c の doContent 関数にメモリ解放後使用 (Use-After-Free) があります。(CVE-2022-40674)

- 無効な形式の ECDSA 署名を持つ応答でターゲットリゾルバーを偽装することで、攻撃者が小さなメモリリークを発生させる可能性があります。リソースの不足により named がクラッシュするまで、利用可能なメモリが徐々に消費される可能性があります。(CVE-2022-38177)

- 無効な形式の EdDSA 署名を持つ応答でターゲットリゾルバーを偽装することで、攻撃者が小さなメモリリークを発生させる可能性があります。リソースの不足により named がクラッシュするまで、利用可能なメモリが徐々に消費される可能性があります。(CVE-2022-38178)

- (1) SSH Tectia Client/Server/Connector の 4.0 から 4.4.11、5.0 から 5.2.4、5.3 から 5.3.8、および Client/Server/ConnectSecure の 6.0 から 6.0.4、および IBM System z の Server for Linux の 6.0.4、および Server for IBM z/OS の 5.5.1 以前、6.0.0、6.0.1、および Client の 4.0-J から 4.3.3-J、4.0-K から 4.3.10-K、ならびに (2) OpenSSH の 4.7p1 および可能性としてその他のバージョンにおいて、SSH プロトコル内のエラー処理では、暗号ブロックチェーン (CBC) モードにブロック暗号アルゴリズムを使用する際に、リモートの攻撃者が未知のベクトルを介して、SSH セッションで任意の暗号文ブロックから特定の平文データを簡単に復元することが可能です。(CVE-2008-5161)

- 65.5.1以前の Python Packaging Authority (PyPA) setuptools では、リモート攻撃者が、細工されたパッケージまたはカスタム PackageIndex ページの HTML を介して、サービス拒否を引き起こす可能性があります。package_index.py に正規表現のサービス拒否 (ReDoS) があります。(CVE-2022-40897)

- 1.6.3 より前の Libksba は、CRL 署名パーサーで整数オーバーフローの脆弱性の影響を受けやすくなっています。
(CVE-2022-47629)

- 1.34 までの GNU Tar は、1 バイトの領域外読み取りがあるため、条件付きジャンプで初期化されていないメモリが使用されます。コントロールのフローを変更する悪用は実証されていません。この問題は、mtime に約 11 の空白文字がある V7 アーカイブを介して list.c の from_header で発生します。
(CVE-2022-48303)

- 連鎖された HTTP 圧縮アルゴリズムに基づく curl <v7.88.0 には、制限のないリソースの割り当てやスロットリングの脆弱性が存在します。これは、サーバー応答が複数回、場合によっては異なるアルゴリズムで、圧縮される可能性があることを意味します。この展開チェーンの受け入れ可能なリンクの数は制限されていましたが、この制限はヘッダーごとに実装されていたため、悪質なサーバーが多数のヘッダーを使用するだけで、事実上無制限の数の圧縮ステップを挿入する可能性がありました。このような展開チェーンを使用すると、malloc ボムが発生し、curl が割り当てられたヒープメモリを大量に消費、または消費しようとして、メモリ不足エラーを戻す可能性があります。(CVE-2023-23916)

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

- 関数 PEM_read_bio_ex() が BIO から PEM ファイルを読み取り、名前 (例:
CERTIFICATE)、任意のヘッダーデータおよびペイロードデータを解析およびデコードします。関数が成功した場合、name_out、header、および data 引数に、関連するデコード済みデータを含むバッファへのポインターが入力されます。
呼び出し元には、これらのバッファを解放する責任があります。ペイロードデータが 0 バイトになる PEM ファイルを構築することが可能です。この場合、PEM_read_bio_ex() は失敗コードを返しますが、すでに解放されているバッファへのポインターがヘッダー引数に入力されます。呼び出し元もこのバッファを解放すると、二重解放が発生します。これはおそらくクラッシュにつながります。これを悪用して、解析用の悪質な PEM ファイルを提供し、サービス拒否攻撃を仕掛ける攻撃者が存在する可能性があります。PEM_read_bio() および PEM_read() 関数は、PEM_read_bio_ex() の単純なラッパーであるため、これらの関数も直接影響を受けます。これらの関数は、PEM_X509_INFO_read_bio_ex() や SSL_CTX_use_serverinfo_file() などのその他の多数の OpenSSL 関数からも間接的に呼び出されるため、やはり脆弱です。PEM_read_bio_ex() が失敗コードを返す場合、呼び出し側はヘッダー引数を解放しないため、これらの関数の一部の OpenSSL 内部使用は脆弱ではありません。これらの場所には、PEM_read_bio_TYPE() 関数や、OpenSSL 3.0で導入されたデコーダーが含められます。OpenSSL asn1parse コマンドラインアプリケーションも、この問題の影響を受けます。(CVE-2022-4450)

- パブリック 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)

- python で欠陥が見つかりました。非バイナリベースを使用する二次時間複雑性のあるアルゴリズムでは、int(text) を使用する場合に、システムが 100,000 桁と 5s の int 文字列を 1,000,000 桁 (バイナリベース 2、4、8、16、32 の float、decimal、int.from_bytes()、int() は影響を受けません) に対して解析するのに 50 ミリ秒かかる可能性があります。この脆弱性が最大の脅威となるのは、システムの可用性です。(CVE-2020-10735)

- Python 3.x 〜 3.10 には、URI パスの先頭にある複数 (/) に対する保護がないため、lib/http/server.py にオープンリダイレクトの脆弱性があり、情報漏洩を引き起こす可能性があります。注意: これは、http.server.html ドキュメントのページに以下の警告があるため、サードパーティによって反論されています。実稼働では http.server は推奨されません。基本的なセキュリティチェックのみを実装します。(CVE-2021-28861)

- 3.11.1 より前の Python で問題が発見されました。IDNA (RFC 3490) デコーダーへの一部の入力を処理する際に、細工された不合理に長い名前がデコーダーに提示されるため、不要な二次アルゴリズムが 1 つのパスに存在し、CPU のサービス拒否を引き起こす可能性があります。ホスト名は、悪質な攻撃者によって制御される可能性があるリモートサーバーから提供されることがよくあります。このようなシナリオでは、攻撃者が指定した想定ホスト名を利用しようとするクライアントで、過剰な CPU 消費を引き起こす可能性があります。
たとえば、攻撃ペイロードは、ステータスコード 302 の HTTP 応答の Location ヘッダーに配置される可能性があります。3.11.1、3.10.9、3.9.16、3.8.16、および 3.7.16で修正が計画されています。(CVE-2022-45061)

- systemd に脆弱性が見つかりました。このセキュリティ上の欠陥により、systemd-coredump が fs.suid_dumpable カーネル設定を尊重しないため、ローカルの情報漏洩が発生する可能性があります。(CVE-2022-4415)

- RSA ClientKeyExchange メッセージの処理におけるタイミングサイドチャネルが GnuTLS で発見されました。このサイドチャネルは、Bleichenbacher スタイルの攻撃の際に、RSA 暗号文で暗号化されたキーをネットワーク全体で復元するのに十分なものです。復号化を成功させるために、攻撃者は特殊な細工がなされた大量のメッセージを脆弱なサーバーに送信する必要があります。ClientKeyExchange メッセージから機密情報を復元することで、攻撃者は、その接続で交換されたアプリケーションデータを復号化することができるようになります。(CVE-2023-0361)

- hw に欠陥が見つかりました。戻り命令に対する誤ってトレーニングされた分岐予測により、特定のマイクロアーキテクチャ依存の条件下で、任意の投機的コードが実行される可能性があります。(CVE-2022-23816) (CVE-2022-28693)

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

ソリューション

Nutanix AHV ソフトウェアを推奨バージョンに更新してください。

参考資料

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

プラグインの詳細

深刻度: Critical

ID: 180469

ファイル名: nutanix_NXSA-AHV-20230302_207.nasl

バージョン: 1.3

タイプ: local

ファミリー: Misc.

公開日: 2023/9/4

更新日: 2024/2/20

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: High

基本値: 9

現状値: 7

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

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

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 8.8

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

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

CVSS スコアのソース: CVE-2022-47629

脆弱性情報

CPE: cpe:/o:nutanix:ahv

必要な KB アイテム: Host/Nutanix/Data/Node/Version, Host/Nutanix/Data/Node/Type

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

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

パッチ公開日: 2023/9/4

脆弱性公開日: 2008/11/14

参照情報

CVE: CVE-2008-5161, CVE-2018-25032, CVE-2020-10735, CVE-2020-26116, CVE-2020-26137, CVE-2021-21996, CVE-2021-28861, CVE-2021-3177, CVE-2021-45960, CVE-2021-46143, CVE-2022-0778, CVE-2022-1271, CVE-2022-22822, CVE-2022-22823, CVE-2022-22824, CVE-2022-22825, CVE-2022-22826, CVE-2022-22827, CVE-2022-23852, CVE-2022-25235, CVE-2022-25236, CVE-2022-2526, CVE-2022-25315, CVE-2022-28693, CVE-2022-29154, CVE-2022-29900, CVE-2022-29901, CVE-2022-38177, CVE-2022-38178, CVE-2022-40674, CVE-2022-40897, CVE-2022-4304, CVE-2022-4415, CVE-2022-4450, CVE-2022-45061, CVE-2022-47629, CVE-2022-48303, CVE-2023-0215, CVE-2023-0286, CVE-2023-0361, CVE-2023-23916