Linux kernel amdxdna: use-after-free on the IOMMU domain when the accelerator device is removed
Impact
In force_iova mode the amdxdna driver frees xdna->domain inside amdxdna_remove(), but a GEM buffer object freed after device removal can still dereference that pointer, giving a use-after-free on a kernel IOMMU domain structure. The scored vector is local, low-privilege, with a scope change and high confidentiality, integrity and availability impact, which is consistent with corruption of kernel memory reachable from an unprivileged holder of the accelerator device node. Exposure is limited to hosts that actually have an AMD XDNA NPU bound to this driver - it is a client/workstation accelerator part, not something present on server GPU nodes - so most fleets will find the driver absent. Where it is present, the race needs device removal (hot-unplug, driver unbind, or a teardown path) to run concurrently with buffer teardown.
Who can reach it
Local user with an open handle to the amdxdna accelerator device, racing a device removal or driver unbind. No remote or network path; no unauthenticated path.
What to do
Take the stable-kernel fix that converts the domain free into a DRM managed release action (commits 65e7e2b8d71b and b4a0500fdf6e) via a distribution kernel update, then reboot the affected host. On fleets with no AMD XDNA hardware the driver is not loaded and no action is required; blacklisting amdxdna is a valid stopgap where the NPU is unused. The record names no fixed release numbers, only the stable commits.
References
Related entries
- Linux kernel nouveau/dmem: large-folio migration unmaps PAGE_SIZE instead of the mapped size, leaking IOVACVE-2026-89804 · Linux kernel drm/nouveau/dmem (device-private THP migration, DMA unmap size)High
- Linux kernel amdkfd: no TLB flush after MES queue eviction lets in-flight DMA touch unmapped GPU memoryCVE-2026-89811 · Linux kernel drm/amdkfd (MES queue eviction/suspension, missing kfd_flush_tlb)High
- Linux drm/amdgpu gfx6: compute queues missed PFP sync, letting a submission run against stale stateCVE-2026-90286 · Linux kernel drm/amdgpu gfx6 (compute queue PFP synchronization)High
- drm/pagemap: migration error path clears the pages array before DMA-unmapping itCVE-2026-93284 · Linux kernel drm_pagemap (device-memory migration error path)High
- BlueField / ConnectX firmware: Improper certificate validation / access controlCVE-2024-0106 · BlueField / ConnectX firmwareHigh
- Jetson (Xavier/TX/Nano): Improper error handlingCVE-2024-0108 · Jetson (Xavier/TX/Nano)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.