OracleVM 3.3:xen (OVMSA-2016-0007)

high Nessus プラグイン ID 88170

概要

リモート OracleVM ホストに 1 つ以上のセキュリティ更新が欠落しています。

説明

リモートの OracleVM システムに、重要なセキュリティ更新に対処するために必要なパッチがありません。

- x86/VMX:非標準的なゲストアドレスによる INVVPID エラーを防止します。INVLPG(および SVM INVLPGA)が非標準的なアドレスでエラーを起こさないのに対し、INVVPID はそのようなアドレスが受け渡されると(「個別アドレス」のケースで)エラーを起こします。
このような傍受された INVLPG はいずれにせよ効果的な no-ops であるため、これを vmx_invlpg_intercept で修正せず、代わりに paging_invlpg がそのようなケースを返さないようにします。これは XSA-168 です。(CVE-2016-1571)

- x86/mm:PV superpage 処理にサニティチェックがありません。MMUEXT_[,UN]MARK_SUPER が、superpage フレームテーブルにポインターを逆参照する前に入力 MFN の有効性チェックを行いません。get_superpage には類似の問題があります。これは XSA-167 です。(CVE-2016-1570)

- x86/HVM:ioreq 状態を 2 回以上読み取るのを回避します さもないと、ジャンプテーブルにスイッチを変換することをコンパイラーが選択した場合は特に、予測不可能な挙動(ジャンプテーブルの場合は任意のコード実行)が引き起こされる可能性があります。これは XSA-166 です。

- x86:ST(n)/XMMn の値をそれらを最初に使用するドメインに漏洩しません FNINIT はこれらのレジスターを変更しないため、これの使用はゲストの初期の状態を初期化するのには不十分です。これは XSA-165 です。(CVE-2015-8555)

- MSI-X:MSI-X テーブル書き込み時の配列オーバーランを回避します pt_msix_init は msix->msix_entry[] を割り当て、msix->total_entries エントリだけを網羅します。pci_msix_readl が領域外読み込みのために物理メモリの読み込みを利用するのに対し、pci_msix_writel は今のところ関係のないメモリにアクセスし、それを破損しただけです。pt_iomem_map の cpu_register_physical_memory への呼び出しは、ページの詳細リージョンを登録します。Pending Bit Array が MSI-X テーブルとスペースを共有する可能性があるため、これは必要です(ただし、他に許可されているものはありません)。また、これは pci_msix_readl が領域外読み取りをなぜ実際に考慮するのか、そして pci_msi_writel がなぜそれをする必要がないのかを説明します。これは XSA-164 です。(CVE-2015-8554)

- From 43a10fecd6f4a9d8adf9f5d85e3d5e7187e2d54a 9 月 17 日(月曜日)17 00:00:00 2001 送信者:Ian Jackson 氏 日付:2015 年 11 月 18 日(水曜日)15:34:54 +0000 サブジェクト:[パッチ] libxl:pv ビルドエラー時のブートローダー関連の仮想メモリリークを修正します ブートローダーは libxl__file_reference_map を呼び出す可能性があります これは pv_kernel と pv_ramdisk をプロセスメモリに mmap します。しかし、libxl__build_pv の成功したパスで、これはマッピングが解除されただけでした。libxl_bootloader.c:parse_bootloader_result と libxl__build_pv の最後の間の任意の場所でエラーがあった場合、libxl__file_reference_unmap への呼び出しがスキップされ、マップされた仮想メモリが漏洩されていました。理想的には、これは libxl__domain_build_state の破壊パスへ unmap 呼び出しを追加することで修正されます。残念ながら、libxl__domain_build_state の有効期間は不透明で、適切な破壊パスがありません。しかし、1 つだけ確かなことは gc がこれらのブートローダー参照からのものではないことで、これらは libxl__domain_create_state.build_state である 1 つの libxl__domain_build_state に対して設定されているだけです。したがって、domcreate_complete を通じて常に実行される libxl__domain_create_* からの終了パスをクリーンアップできます。libxl__build_pv の成功パスの現時点で冗長なマップ解除を削除します。
これは XSA-160 です。

xen.org の xsa160.patch コンフリクト:パッチのコンテキストを調整し、OVM 3.3 コードベースに一致するようにします(CVE-2015-8341)

- メモリ:XENMEM_exchange エラーを修正します。assign_pages の処理は、パラレルに kill されるドメインによりエラーを起こす可能性があります。これにより、ハイパーバイザークラッシュが発生しないようにする必要があります。また、冗長な put_gfn も削除します。- 「エラー」ラベルにつながる関連のあるすべてのパスが既にこれを行っています(単純に間違っているパスもあります)。51032ca058(「p2m へのクエリの命名を修正」)により導入された put_gfn-s got のすべてです。それ以外では必要ない k のイニシャライザ(誤解を招くコメントの類があるものも含みます。- コンパイラの警告が使用が間違っていることを示すヒントとして実際には機能する可能性がありました)を含みます。これは XSA-159 です。

22326022] (CVE-2015-8339)(CVE-2015-8340)

- x86/HVM:#AC と #DB を常に傍受します 両方とも良好な例外で、例外配信によりトリガー可能であり、これはゲストが CPU をロックアップするのを回避するために必要です(そのようなループに陥った場合、他の VM の終了が発生しないためです)。特定のシナリオ:1)ハンドラーが 32 ビットのゲストにより ring-3 のものに設定されていて、スタックのアライメントが不適切な場合、例外の配信中に #AC が呼び出される可能性があります。2)例外の配信に関連してデータ構造にブレイクポイントが配置された場合に、#DB が例外配信中に呼び出される可能性があります。64 ビットゲストがベクトル 1 IDT エントリにゼロでない IST を使用する場合に、これにより無限ループが引き起こされる可能性があります。IST を使用しない場合でも、起因する障害が呼び出されるまでの時間は、かなり長くなります(ハンドラーにより異なります)。これは XSA-156 です。

(CVE-2015-5307、CVE-2015-8104)

ソリューション

影響を受ける xen / xen-tools パッケージを更新してください。

参考資料

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

プラグインの詳細

深刻度: High

ID: 88170

ファイル名: oraclevm_OVMSA-2016-0007.nasl

バージョン: 2.8

タイプ: local

公開日: 2016/1/26

更新日: 2021/1/4

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.5

CVSS v2

リスクファクター: High

基本値: 7.8

現状値: 5.8

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

CVSS v3

リスクファクター: High

基本値: 8.6

現状値: 7.5

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

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

脆弱性情報

CPE: p-cpe:/a:oracle:vm:xen, p-cpe:/a:oracle:vm:xen-tools, cpe:/o:oracle:vm_server:3.3

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

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

パッチ公開日: 2016/1/25

脆弱性公開日: 2015/11/16

参照情報

CVE: CVE-2015-5307, CVE-2015-8104, CVE-2015-8339, CVE-2015-8340, CVE-2015-8341, CVE-2015-8554, CVE-2015-8555, CVE-2016-1570, CVE-2016-1571