CVE-2026-53359
KVM: x86: 予期しないロールによるシャドウページングのuse-after-freeを修正
- 公開済み
- 2026/07/04
- 更新済み
- 2026/08/17
- CNA の割り当て
- Linux
- 観察された証拠
- 2026/08/04
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H低 · 今後 30 日間
- パーセンタイル
- 59.6%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Linux カーネルにおいて、以下の脆弱性が修正されました:KVM: x86: 予期しないロールによるシャドウページングの use-after-free を修正。コミット 0cb2af2ea66ad(“KVM: x86: 予期しない GFN によるシャドウページングの use-after-free を修正”)は、保存された GFN と計算された GFN の間のシャドウページングの不一致を修正しました。このバグは、ゲスト外部から PDE マッピングを変更し、その後 memslot を削除することで引き起こされる可能性がありました。rmap_remove() 呼び出しは、リーフ SPTE の GFN が struct kvm_mmu_page の GFN と一致しないため、PDE 変更後に作成されたエントリを見逃す可能性がありました。しかし、変更された PDE が非リーフページを指している場合、同様の穴が依然として残ります。この場合、gfn は一致させることができますが、ロールは一致しません。元の 2MB のラージページは direct=1 の kvm_mmu_page を作成しますが、新しい 4KB ページには direct=0 の kvm_mmu_page が必要です。しかし、kvm_mmu_get_child_sp() はロールを比較しないため、ページを再利用します。次のステップは、新しいパスにリーフ(4KB)SPTE をインストールすることで、ウォークによって解決された gfn の下に rmap エントリを記録します。しかし、その子が zap されると、その親の kvm_mmu_page は direct=1 を持ち、kvm_mmu_page_get_gfn() は sp->shadowed_translation[](古いカーネルでは sp->gfns[])を使用せずに、4KB ページの gfn を sp->gfn + index として計算します。そのため、記録されたエントリを削除できません。memslot が削除されるとシャドウページは解放されますが、すでに修正されたシナリオと同様に、rmap エントリは残ります。その後、その gfn をウォークするコード(ダーティロギング、MMU ノーティファイアの無効化など)は、解放されたページ内にある sptep を逆参照し、use-after-free を引き起こします。
ソース
4CVE-2026-53359
Linuxカーネルアップグレードガイド - CVE-2026-53359の修正
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。