Database/Kernel, userspace & hypervisor
Linux kernel hugetlb: fork() corrupts migration and hwpoison swap entries by clearing uffd-wp at the wrong bit
Impact
copy_hugetlb_page_range() clears the uffd-wp bit at the present-PTE bit position even for non-present entries, but swap entries carry uffd-wp elsewhere; on x86-64 the cleared bit lands inside the inverted swap offset, so the encoded PFN of a hugetlb migration or hwpoison entry advances by two pages. No userfaultfd has to be involved - a plain fork() while a hugetlb page is under migration, or after that page was poisoned, corrupts the entry the child inherits. The damage is mostly latent because rmap rebuilds the PTE from the folio when migration finishes, but any path that re-encodes the corrupted offset, such as hugetlb_change_protection() rewriting a writable migration entry, propagates the skew. GPU nodes are where this is most likely to be hit: hugetlb is standard for large-page pinning under GPUDirect and DPDK-style data paths, hugetlb pages get migrated under memory pressure, and forking is ubiquitous - the failure mode is silent memory corruption rather than a clean crash.
Who can reach it
Local and unprivileged: any process with access to hugetlb pages that forks while one of those pages is being migrated or has been marked poisoned. No capability, no userfaultfd registration and no authentication beyond normal access to the node - on a shared GPU node that is any tenant able to use hugepages.
What to do
Take a stable kernel containing the mm/hugetlb fix (commits 2b9a0700, 2fa11c60, 69cb5825, 83abe2fd, 8b0de700) and reboot each node; the record names no fixed release number, so match against your vendor's kernel changelog. There is no runtime mitigation short of not using hugetlb pages, which is not realistic on most GPU nodes, so this rides on the next kernel maintenance window.
References
Related entries
- Linux kernel iommufd: hwpt replace responds to faults on the wrong domain, stranding faults on the old hwptCVE-2026-80894 · Linux kernel iommufd (fault auto-response on hwpt replace)Unscored
- Microsoft Hyper-V: vmswitch fails to validate guest OID requestsCVE-2021-28476 · Microsoft Hyper-VCritical
- Incus: instance snapshots bypass restricted.containers.lowlevel, giving command execution on the hostCVE-2026-48751 · Incus (instance snapshots ignore restricted.containers.lowlevel)Critical
- VMware ESXi (OpenSLP): Use-after-free in OpenSLP on port 427 - unauthenticated remote code execution on the hypervisorCVE-2020-3992 · VMware ESXi (OpenSLP)Critical
- Linux kernel mlx5_core kTLS RX offload: TLS RX resync list corruption: entries are moved by the resync handlerCVE-2021-47215 · Linux kernel mlx5_core kTLS RX offloadCritical
- Linux kernel (drivers/nvme/host): The NVMe/RDMA initiator destroys the queue pair before the connection manager ID, soCVE-2021-47378 · Linux kernel (drivers/nvme/host)Critical
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.