攻撃の流れを簡略化して説明します。
direct=1 ロールのシャドウページを作成します。direct=0 ロールの4KBページが必要になります。kvm_mmu_get_child_sp()が再利用するシャドウページを探す際、GFNが一致するため、既存のシャドウページを発見します。しかし、directロールの比較に失敗します。その結果、direct=1 の古いシャドウページが、direct=0 を必要とするコンテキストで誤って再利用されます。sptep(シャドウページテーブルエントリポインタ)がrmapウォーク(ダーティログやMMU Notifierの無効化など)中に参照され続け、解放後使用(Use-After-Free)状態を引き起こします。CVE-2026-53359の影響は、特にマルチテナントクラウド環境において深刻です。
/dev/kvmが全世界に書き込み可能(0666)なディストリビューションでは、特権を持たないローカルユーザーがこの脆弱性を信頼性の高いローカル権限昇格の手段として悪用できます。脆弱性が特定されると、Linuxカーネルコミュニティは迅速に対応しました。修正はメインラインカーネルにコミットされ、安定版カーネルにバックポートされました。これらはすべて2026年7月4日にリリースされています。
81ccda30b4e83d8f5cc4fd50503c44e3a33abfeb およびそのバックポート)は、kvm_mmu_get_child_sp() 内の検証ロジックを強化します。シャドウページを再利用する前に、ゲストフレーム番号とMMUロールの両方が一致することを要求するようになり、解放後使用につながるロール不一致を防止します。パッチ適用が唯一の完全な修正ですが、管理者は攻撃対象領域を減らすために以下の暫定的な回避策を実施できます。
/dev/kvmへのアクセス制限: 特権のないローカル権限昇格を防ぐために、KVMデバイスへのアクセスを制限します。chmod 660 /dev/kvm で権限を変更し、信頼できるユーザーのみを kvm グループに追加します。