Description
In the Linux kernel, the following vulnerability has been resolved: KVM: nSVM: Triple fault if restore host CR3 fails on nested #VMEXIT If loading L1's CR3 fails on a nested #VMEXIT, nested_svm_vmexit() returns an error code that is ignored by most callers, and continues to run L1 with corrupted state. A sane recovery is not possible in this case, and HW behavior is to cause a shutdown. Inject a triple fault instead, and do not return early from nested_svm_vmexit(). Continue cleaning up the vCPU state (e.g. clear pending exceptions), to handle the failure as gracefully as possible. From the APM: Upon #VMEXIT, the processor performs the following actions in order to return to the host execution context: ... if (illegal host state loaded, or exception while loading host state) shutdown else execute first host instruction following the VMRUN Remove the return value of nested_svm_vmexit(), which is mostly unchecked anyway.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
d82aaef9c88aa27bce63751d6d6329920b1fe8da to < e6318570a9b4e137b0b744832b920b38bb069561affectedd82aaef9c88aa27bce63751d6d6329920b1fe8da to < 2e661773890e6ba6b16064fad961da3dd311be43affectedd82aaef9c88aa27bce63751d6d6329920b1fe8da to < af79992ecdb6817970d757fb5d853b8d9b55a0d6affectedd82aaef9c88aa27bce63751d6d6329920b1fe8da to < b0eb0a8959ac2b808eb11548d002fe1f9b5650ccaffectedd82aaef9c88aa27bce63751d6d6329920b1fe8da to < 9a738cf170a4a2332ea3a15e23ec65b5757fe4a1affectedd82aaef9c88aa27bce63751d6d6329920b1fe8da to < 5d291ef0585ed880ed4dd71ea1a5965e0a65fb53affected
Linux Linux
Default version status: affected
5.9affected0 to < 5.9unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.114 to ≤ 6.12.*unaffected6.18.57 to ≤ 6.18.*unaffected7.0.4 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/e6318570a9b4e137b0b744832b920b38bb069561 ↗
- https://git.kernel.org/stable/c/2e661773890e6ba6b16064fad961da3dd311be43 ↗
- https://git.kernel.org/stable/c/af79992ecdb6817970d757fb5d853b8d9b55a0d6 ↗
- https://git.kernel.org/stable/c/b0eb0a8959ac2b808eb11548d002fe1f9b5650cc ↗
- https://git.kernel.org/stable/c/9a738cf170a4a2332ea3a15e23ec65b5757fe4a1 ↗
- https://git.kernel.org/stable/c/5d291ef0585ed880ed4dd71ea1a5965e0a65fb53 ↗