CVE-2026-31462 Overview
CVE-2026-31462 affects the Linux kernel's AMD GPU (amdgpu) driver. The vulnerability stems from immediate PASID (Process Address Space ID) reuse, which can cause interrupt handling issues. When a process exits and frees its PASID, page faults may still be pending in the Interrupt Handler (IH) ring buffer. A new process inheriting the same PASID can then encounter hardware state left behind by the previous process. The fix replaces the standard IDR allocator with an IDR cyclic allocator, mirroring how the kernel allocates PIDs.
Critical Impact
Local low-privileged users can trigger interrupt handling errors in the amdgpu driver, causing high-impact availability disruption on affected systems.
Affected Products
- Linux Kernel (multiple stable branches)
- Linux Kernel 7.0-rc1 through 7.0-rc5
- Systems using the AMD GPU (amdgpu) driver
Discovery Timeline
- 2026-04-22 - CVE-2026-31462 published to NVD
- 2026-05-07 - Last updated in NVD database
Technical Details for CVE-2026-31462
Vulnerability Analysis
The vulnerability resides in the AMD GPU driver's PASID management logic. PASIDs identify process address spaces to the GPU's IOMMU and enable shared virtual memory between CPU and GPU contexts. When a process terminates, the kernel frees its associated PASID for reuse by subsequent processes.
The AMD GPU IH (Interrupt Handler) ring buffer queues page fault interrupts asynchronously. Page faults generated by the exiting process may remain pending in the ring buffer after the PASID is released. If the kernel immediately reassigns the same PASID to a new process, the pending interrupts get incorrectly associated with the new process context. This creates inconsistent hardware state and may produce spurious page fault handling, driver errors, or system instability.
Root Cause
The root cause is the use of a non-cyclic IDR allocator for PASID assignment. The standard IDR allocator reuses the lowest available identifier, which maximizes the probability of immediate reuse. Combined with the asynchronous nature of the IH ring buffer, this allocation strategy creates a race window where stale interrupts collide with newly assigned PASIDs.
Attack Vector
Exploitation requires local access with low privileges and no user interaction. An attacker with the ability to repeatedly create and terminate processes that use the AMD GPU can manipulate PASID allocation patterns. By rapidly cycling GPU contexts, an attacker can trigger interrupt mishandling that disrupts availability of the graphics subsystem and potentially the host. The vulnerability does not expose confidentiality or integrity data, but it can produce sustained denial of service on systems with AMD GPUs.
The upstream patch resolves the issue by switching to an IDR cyclic allocator. See the kernel commit for technical details.
Detection Methods for CVE-2026-31462
Indicators of Compromise
- Unexpected amdgpu driver errors or warnings in dmesg related to page faults or IH ring buffer overflows
- Repeated GPU hangs, resets, or display freezes on systems with AMD graphics
- Kernel log entries referencing PASID mismatches or unhandled interrupts in amdgpu_irq or amdgpu_ih functions
Detection Strategies
- Inventory Linux hosts running affected kernel versions with AMD GPU hardware using package management queries (uname -r, dpkg, rpm)
- Monitor kernel ring buffer output (journalctl -k) for amdgpu page fault anomalies and PASID-related messages
- Correlate process creation spikes for GPU-accelerated workloads with subsequent driver instability events
Monitoring Recommendations
- Enable persistent kernel logging and forward amdgpu subsystem events to a centralized log platform
- Track GPU reset counters exposed via sysfs (/sys/class/drm/card*/device/reset) for anomalous frequency
- Alert on repeated GPU driver crashes or unexpected workload terminations affecting AMD GPU users
How to Mitigate CVE-2026-31462
Immediate Actions Required
- Apply the upstream kernel patches referenced in the kernel.org stable tree for your distribution
- Update to a kernel version that includes the cyclic IDR allocator fix for amdgpu PASID assignment
- Restrict access to GPU compute interfaces on shared multi-tenant systems until the patch is deployed
Patch Information
The fix has been backported across multiple stable Linux kernel branches. Reference commits include 14b81abe7bdc, 51ccaf0e30c3, 9e5ebfe99b22, and c0b3882836de. Cherry-picked from upstream commit 8f1de51f49be692de137c8525106e0fce2d1912d. Administrators should pull the latest stable kernel release from their distribution vendor.
Workarounds
- Limit untrusted local user access to systems with AMD GPU hardware where rapid process cycling is possible
- Disable GPU compute (amdgpu HSA/ROCm) interfaces for non-essential workloads on shared hosts until patched
- Use cgroup or namespace restrictions to reduce the ability of low-privileged users to spawn high volumes of GPU contexts
# Verify current kernel version and check for amdgpu module
uname -r
lsmod | grep amdgpu
# Review recent amdgpu kernel messages for anomalies
journalctl -k --since "24 hours ago" | grep -iE "amdgpu|pasid|ih_ring"
# After patching, reboot and confirm fixed kernel is active
sudo reboot
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


