CVE-2026-74607 in Linux
要約
〜によって VulDB • 2026年08月23日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
KVM: SVM: ownerおよびmirrorリストへのアクセスを個別のロックで直列化
KVM_CAP_VM_MOVE_ENC_CONTEXT_FROMとKVM_CAP_VM_COPY_ENC_CONTEXT_FROMの相互作用により、2つの別々の問題が発生する可能性があります。
- sev_migrate_from()において、宛先KVMがミラーである場合、ミラールーティンエントリはownerのロックを保持せずに(sev_vm_copy_enc_context_from()やsev_vm_destroy()などの他のowner用mirrorリスト書き込み処理とは異なり)、sourceのリストからownerのmirror_vmsリストへ移動されます。並行してCOPYまたはdestroyが行われると、race conditionが発生し、リストが破損する可能性があります。
- sev_vm_destroy()において、*owner*はまだアクティブであり、concurrentlyにKVM_CAP_VM_MOVE_ENC_CONTEXT_FROMを受信してsev->enc_context_ownerを変更させることができます。この場合、誤ったVMに対してkvm_put_kvm()が行われます。
2番目の問題は特に注意が必要です。なぜなら、race windowは極めて小さいものの、ownerを読み取ってからロックするまでの間に、ownerが完全に消失してしまう可能性があるからです。したがって、struct kvmをSLAB_TYPESAFE_BY_RCUにする(これによりRCUクリティカルセクション内でkvm_get_kvm_safe()が可能になる)ことなくして、ownerのロックの下でチェックを実行する方法はありません。
クリティカルセクションが非常に小さく、新しいロックは常にリーフロックであるため、グローバルロックを使用する方がずっと単純です。
If you want to get best quality of vulnerability data, you may have to visit VulDB.