Linux: KVM: x86/mmu: Check write tracking in all address spaces
What fixes it
- 09aa68552d2542cc6c23edd1568ac265dc5d886fLinuxCVE List
- 429b6f43b4d8c98988fdca99e02dc156134e3d77LinuxCVE List
- 0f38453cdb2e17566ccb7c0f3dabd5bd21caca26LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
KVM: x86/mmu: Check write tracking in all address spaces
kvm_gfn_is_write_tracked() checks only the supplied memslot, but page tracking is per-address-space and shadow pages are shared across all address spaces. With SMM, a GFN can therefore be write-tracked in one address space and appear untracked through the other.
Check the supplied slot first, then the slot for the other address space. This ensures all callers honor write tracking regardless of the active address space. In particular, it prevents mmu_try_to_unsync_pages() from marking an upper-level shadow page unsync and eventually triggering the BUG in pte_list_remove().
[invert direction of the conditional. - Paolo]
Text from CVE List
Affected versions 14
- Linuxaffected: 699023e239658e62da6f42f47d31b54788521ec1 before 09aa68552d2542cc6c23edd1568ac265dc5d886fCVE List
- Linuxaffected: 699023e239658e62da6f42f47d31b54788521ec1 before 429b6f43b4d8c98988fdca99e02dc156134e3d77CVE List
- Linuxaffected: 699023e239658e62da6f42f47d31b54788521ec1 before d8636c8f9f95d0fd1e2f6f1cad0d5757aa6f212aCVE List
- Linuxaffected: 699023e239658e62da6f42f47d31b54788521ec1 before c0a9bd5fca0b5f2dea32b0fc31350e71e8648112CVE List
- Linuxaffected: 699023e239658e62da6f42f47d31b54788521ec1 before ec8fcaf354c1cbb36755d48e9f5a00c9591349e5CVE List
- Linuxaffected: 699023e239658e62da6f42f47d31b54788521ec1 before 0f38453cdb2e17566ccb7c0f3dabd5bd21caca26CVE List
- Linuxaffected: 4.2CVE List
- Linuxunaffected: all versions before 4.2CVE List
- Linuxunaffected: 6.1.187 through 6.1.*CVE List
- Linuxunaffected: 6.6.156 through 6.6.*CVE List
- Linuxunaffected: 6.12.108 through 6.12.*CVE List
- Linuxunaffected: 6.18.49 through 6.18.*CVE List
- Linuxunaffected: 7.1.13 through 7.1.*CVE List
- Linuxunaffected: 7.2CVE List
References 6
- git.kernel.org/stable/c/09aa68552d2542cc6c23edd1568ac265dc5d886fReferencevia CVE List
- git.kernel.org/stable/c/429b6f43b4d8c98988fdca99e02dc156134e3d77Referencevia CVE List
- git.kernel.org/stable/c/d8636c8f9f95d0fd1e2f6f1cad0d5757aa6f212aReferencevia CVE List
- git.kernel.org/stable/c/c0a9bd5fca0b5f2dea32b0fc31350e71e8648112Referencevia CVE List
- git.kernel.org/stable/c/ec8fcaf354c1cbb36755d48e9f5a00c9591349e5Referencevia CVE List
- git.kernel.org/stable/c/0f38453cdb2e17566ccb7c0f3dabd5bd21caca26Referencevia CVE List