HIGH
drm/amdgpu IB OOB
CVE-2026-46218
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
KernelScan AI6.6MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Add bounds checking to ib_{get,set}_value The uvd/vce/vcn code accesses the IB at predefined offsets without checking that the IB is large enough. Check the bounds here. The caller is responsible for making sure it can handle arbitrary return values. Also make the idx a uint32_t to prevent overflows causing the condition to fail.
02KernelScan AI Analysis
Risk summary
Systems with AMD GPUs are vulnerable to limited out-of-bounds access to GPU indirect buffers. Attackers with local access to GPU device nodes can trigger predefined out-of-bounds reads that leak adjacent kernel data (e.g., heap pointers), perform limited out-of-bounds writes that corrupt adjacent kernel memory structures, and cause kernel panics when the access crosses into unmapped pages. This can lead to information disclosure, limited memory corruption, or system crashes.
Vulnerability analysis
The amdgpu_ib_get_value() and amdgpu_ib_set_value() functions lacked bounds checking when accessing GPU indirect buffers at offsets predefined by the UVD/VCE/VCN video codec subsystems. Because the caller controls the IB allocation size, a malicious submission can trigger out-of-bounds reads and writes at fixed offsets beyond the buffer's length_dw field. The fix adds bounds validation and changes the index parameter from signed int to uint32_t to prevent integer underflows from bypassing the check. Attack surface is local through DRM device nodes, typically available to regular users with GPU access.
03Fix Versions
| Branch | Fixed in | Patch commit |
|---|---|---|
| 6.1 | 6.1.175 | 5da6c6430be0 |
| 6.12 | 6.12.90 | a853178d23e7 |
| 6.18 | 6.18.32 | fec8b11b55e5 |
| 6.6 | 6.6.140 | 0fb5cb556b24 |
| 7.0 | 7.0.9 | ee26fcf7c5cf |
| mainline | 7.1-rc1 | 66085e206431 |