CVE-2026-98433 in Linux情報

要約

〜によって VulDB • 2026年10月18日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

KVM: PPC: Book3S HV: uv_page_in() 失敗時のセキュアデバイスページリークの修正

kvmppc_svm_page_in() の実行中に、kvmppc_uvmem_get_page() が成功した後に uv_page_in() が失敗した場合、セキュアデバイスページが解放されません。kvmppc_uvmem_get_page() は kvmppc_uvmem_bitmap 内のビットを設定し、kvmppc_uvmem_page_pvt 構造体を割り当て、GFN を KVMPPC_GFN_UVMEM_PFN マークし、refcount=1 に設定してページをロックする zone_device_page_init() を呼び出します。その後、goto out_finalize が実行され *mig.dst の代入がスキップされるため、migrate_vma_finalize() はそのページに対して何もしない状態(no-op)となり、これらのリソースは決して回収されません。

この事象が発生するたびに、ファームウェアで制限されたセキュアメモリプール (kvmppc_uvmem_bitmap) からエントリが永久に消費され、pvt がリークし、GFN がセキュアとしてマークされたままになるため、VM の存続期間中その GFN は使用不可能になります。

対となる __kvmppc_svm_page_out() 関数では、同様の uv_page_out() の失敗に対して unlock_page(dpage); __free_page(dpage) を用いて正しく処理されています。ここでは同じパターンを適用し、unlock_page() に続いて put_page() を呼び出し、これにより free_zone_device_folio() を経由して kvmppc_uvmem_folio_free() へと連鎖させ、ビットマップのクリア、pvt の解放、GFN ステートのリセットを行います。

POWER9/10 + Ultravisor/PEF システムにおいて uv_page_in() がエラー(例:UV プールの枯渇)を返す場合に到達可能です。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-421766

EPSS

0.00164

アクティビティ

非常低い

セクター

Energy, Police, ...

ソース

Do you need the next level of professionalism?

Upgrade your account now!