CVE-2026-98472 PUBLISHED

KVM: SEV: Free have_run_cpus during VM destruction even if VM is no longer SEV

Assigner: Linux
Reserved: 25.09.2026 Published: 18.10.2026 Updated: 18.10.2026

In the Linux kernel, the following vulnerability has been resolved:

KVM: SEV: Free have_run_cpus during VM destruction even if VM is no longer SEV

Unconditionally free SEV's "have run CPUs" cpumask in the VM destroy path, i.e. even for what appear to be non-SEV VMs, as an SEV VM becomes a non-SEV VM if its state is intra-host migrated. Alternatively, the mask could be freed in sev_migrate_from() when "converting" the source VM, but that gets annoying because ideally KVM would nullify the mask to guard against UAF, and nullifying the mask would need be conditioned on CPUMASK_OFFSTACK=y.

Freeing the mask during sev_migrate_from() is also not robust against other KVM bugs, though that's kind of a moot point since any such bugs would show up even if sev->active is never set. I.e. KVM must get that side of things correct. But, that's not a great reason to add more code just to make things marginally less robust.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 6f38f8c574642a822f2e85f079fa29a49176c49c to 6aef7cf800098749ff5d660222efaf6e01e98c09 (excl.)
  • affected from 6f38f8c574642a822f2e85f079fa29a49176c49c to 9784e5ca91b37b387f3f414af4340c54f7a63566 (excl.)
  • affected from 6f38f8c574642a822f2e85f079fa29a49176c49c to 12c1f6e03f944e399bd2c88441dca5dc702b95a5 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.17 is affected
  • unaffected from 0 to 6.17 (excl.)
  • unaffected from 6.18.55 to 6.18.* (incl.)
  • unaffected from 7.2.9 to 7.2.* (incl.)
  • unaffected from 7.3-rc5 to * (incl.)

References