Executive brief
The AMD GPU driver (amdgpu) in the Linux kernel contains an array indexing vulnerability in its ring submission logic. When GPU compute tasks are submitted without a partition assignment, the driver attempts to access an isolation array with an invalid index value, triggering a memory safety violation. An attacker with local access to GPU functionality could exploit this to trigger a kernel panic or potentially achieve privilege escalation.
Technical details
The vulnerability is an out-of-bounds array indexing flaw in the amdgpu DRM driver's ring submission path. The `adev->isolation[]` array has one slot per GPU partition, but rings not assigned to a partition retain the value `AMDGPU_XCP_NO_PARTITION` (~0 in bitwise representation). Code in both `amdgpu_device_enforce_isolation()` and `amdgpu_vm_flush()` directly indexed this array with the ring's xcp_id without bounds checking, causing out-of-bounds memory access that triggered UBSAN (Undefined Behavior Sanitizer) warnings. SDMA submissions were particularly affected. The fix clamps the index to 0 when `AMDGPU_XCP_NO_PARTITION` is detected, and defers the isolation structure pointer assignment until after a ring-type check. The vulnerability requires local access to the GPU (requires CAP_SYS_ADMIN or GPU device permissions).
Affected products
- Linux Linux kernel 5.10 and later (exact range not specified in advisory)
Timeline
- 2026-09-16: disclosed
- 2026-09-11: patched: Patches published upstream in git.kernel.org