Database/Kernel, userspace & hypervisor
Linux dma-buf CMA heap: off-by-one in the fault handler maps an arbitrary page past the buffer
Impact
The CMA dma-buf heap fault handler compares the fault offset against the buffer size with the boundary off by one, so a mapping extended past the buffer (historically obtainable via mremap, before VM_DONTEXPAND was added) can fault in a page read from beyond the end of the pages array and insert an arbitrary page into the process mapping. dma-buf is the shared buffer plumbing accelerator and display stacks use, and a local user holding the heap device can turn this into read or write access to memory that is not theirs. On a multi-tenant GPU node, whether this is reachable depends entirely on whether /dev/dma_heap/* is exposed into containers - on a typical headless server build it is not.
Who can reach it
Local user with access to the CMA dma_heap character device. No authentication beyond that device permission; not remote. Headless GPU servers usually do not expose dma_heap to tenants.
What to do
Patch the host kernel to a stable release containing the boundary fix and reboot the node after draining. As an interim measure, confirm /dev/dma_heap/* is not mounted into tenant containers and is not world-accessible on the host.
References
Related entries
- Linux kernel (drivers/gpu/drm/xe): The per-client memory accounting walks buffer-object state (TTM resource, tt pages)CVE-2024-46866 · Linux kernel (drivers/gpu/drm/xe)High
- Linux kernel (drivers/gpu/drm/xe): The GPU VM is published into the id table before the create ioctl finishes with itCVE-2024-49865 · Linux kernel (drivers/gpu/drm/xe)High
- Linux kernel amdkfd (KFD compute driver, /dev/kfd) (drm/amdkfd): A use-after-free in the amdkfd (KFD compute driverCVE-2024-49991 · Linux kernel amdkfd (KFD compute driver, /dev/kfd) (drm/amdkfd)High
- Linux kernel nfsd: racing FREE_STATEID calls cause use-after-free or refcount underflowCVE-2024-50043 · Linux kernel nfsd (FREE_STATEID delegation stateid refcounting)High
- Linux kernel (drivers/gpu/drm/xe): The observation/OA path reuses one batch buffer and appends a batch-end command onCVE-2024-50090 · Linux kernel (drivers/gpu/drm/xe)High
- Linux kernel (drivers/iommu/intel): VT-d walked the PCI DMA-alias list for devices that are not PCI at all whileCVE-2024-50101 · Linux kernel (drivers/iommu/intel)High
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.