GPU VulnDB

Database/Kernel, userspace & hypervisor

KVM SEV: unlocked set_page_dirty on get_user_pages_fast pages during guest memory population

CVSS 7.8CVE-2026-99177Kernel, userspace & hypervisorcurated

Impact

sev_gmem_post_populate() calls set_page_dirty() on pages obtained from get_user_pages_fast() without holding a lock that pins the page's mapping, so the mapping can go away concurrently and the dirty-marking operates on freed state. This is host-side kernel memory corruption reachable while setting up an SEV or SEV-SNP guest, on exactly the confidential-computing path operators enable to isolate tenant workloads. On a GPU host running confidential VMs it undermines the host kernel that is supposed to be the isolation boundary. The fix switches to set_page_dirty_lock(); the window is narrow and requires the ability to launch SEV guests.

Who can reach it

Local on the hypervisor host: a process able to launch or configure an SEV/SEV-SNP guest through /dev/kvm - normally the VMM service account, not an ordinary tenant. Authentication is required in the sense that the attacker must already hold KVM guest-creation rights.

What to do

Update to a kernel containing the set_page_dirty_lock() fix (two stable commits, tagged for stable) and reboot each SEV-capable host; a KVM module reload is not sufficient in practice on a node running guests, so drain and reboot. Until then, restricting who can create SEV guests limits reachability. No microcode or firmware change is involved.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.