KVM nested_svm_vmrun Double Fetch
Posted by deepcore on July 1, 2021 – 1:06 am
A KVM guest on AMD can launch a L2 guest without the Intercept VMRUN control bit by exploiting a TOCTOU vulnerability in nested_svm_vmrun. Executing vmrun from the L2 guest, will then trigger a second call to nested_svm_vmrun and corrupt svm->nested.hsave with data copied out of the L2 vmcb. For kernel versions that include the commit “2fcf4876: KVM: nSVM: implement on demand allocation of the nested state” (>=5.10), the guest can free the MSR permission bit in svm->nested.msrpm, while it’s still in use and gain unrestricted access to host MSRs.
Post a reply
You must be logged in to post a comment.