KVM: SEV: Do cache maintenance on the source VM *before* clearing SEV state
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.18.56, 7.2.10
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: KVM: SEV: Do cache maintenance on the source VM before clearing SEV state Explicitly flush caches after intra-host migration before clearing "SEV active" on the source VM, as doing cache maintenance afterwards creates a tiny window where memory reclaim could return memory to the host without performing a cache flush, e.g. as pointed out by Sashiko: CPU1 in sev_migrate_from(): src->active = false; CPU2 running concurrent unmap: Since active is false, the automatic cache flush in sev_guest_memory_reclaimed is skipped. The host frees and reallocates the page. CPU1 in sev_migrate_from(): sev_writeback_caches(src_kvm); Executes a hardware cache flush (wbnoinvd), which writes the guest's old dirty ciphertext over the new page owner's data.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 37dfb676fafd1eef36fe0bb649607afbb0d5521b · fixed in 8b7d4f68fef96cebe0b6dbb6e5607772337f7369; From d4cc2dff12116a700add601c0262132cc26e1b2c · fixed in de83ff6a4d8f3618473bedb3c4400020c22e8a8a; From 93de2a6a4b91b72607136dd656edf03fb399d27f · fixed in 973ea70393e885e540f714904e51bc6cac80e3d7
- Linux Linux
From 6.18.55 · fixed in 6.18.56; From 7.2.9 · fixed in 7.2.10
- KernelLinux
From 6.18.55 · fixed in 6.18.56; From 7.2.9 · fixed in 7.2.10