Linux amdgpu VCN: integer overflow in dec_msg buffer count lets the parser run past the message BO
Impact
A num_buffers value of 0x3FFFFFFF makes the expression 6 + num_buffers * 4 wrap to 2, so the bounds check passes and the decode-message parser walks far past the end of the message buffer object. On a node with AMD GPUs exposed to tenants this is an out-of-bounds read in kernel context reachable from a process that can submit VCN decode work, with a likely outcome of a kernel oops that takes the node down rather than a clean fault. Triggering it also requires a roughly 4GiB mapping so the earlier header check is satisfied, which limits it to tenants allowed large allocations. Availability is the realistic exposure: a crashed GPU node has to be rebooted, and any co-tenants on that host lose their jobs with it.
Who can reach it
Local, authenticated: a user or container with access to the amdgpu render node that can submit VCN video-decode command streams and allocate a ~4GiB buffer. Not reachable over the network, and not reachable at all on nodes where VCN is not exposed to tenants.
What to do
Pick up the fix from your distribution's stable kernel (the check is rewritten in division form; commits linked below) and reboot each affected node. That means draining GPU workloads per node and rebooting - there is no module-reload shortcut that is safe while tenants hold the render node. Until then, restricting which tenants can reach /dev/dri render nodes on AMD hosts limits who can attempt it.
References
Related entries
- NVIDIA vGPU Manager (vGPU plugin): Stack buffer overflow in the vGPU Manager with enough control for a guest to place aCVE-2021-1099 · NVIDIA vGPU Manager (vGPU plugin)High
- NVIDIA vGPU Manager (vGPU plugin): A guest-supplied string may not be null-terminated, and the host plugin reads pastCVE-2021-1120 · NVIDIA vGPU Manager (vGPU plugin)High
- NVIDIA vGPU software - Virtual GPU Manager (host-side vGPU plugin / nvidia.ko): The vGPU plugin double-frees hostCVE-2022-31614 · NVIDIA vGPU software - Virtual GPU Manager (host-side vGPU plugin / nvidia.ko)High
- Linux kernel amdgpu display core (DC/DM) (drm/amd/display): An out-of-bounds access in the amdgpu display core (DC/DM)CVE-2022-50079 · Linux kernel amdgpu display core (DC/DM) (drm/amd/display)High
- NVIDIA/Mellanox ConnectX driver (mlx5_ib UMR resource init/cleanup): A failed workqueue allocation during mkey-cacheCVE-2023-52851 · NVIDIA/Mellanox ConnectX driver (mlx5_ib UMR resource init/cleanup)High
- Linux kernel amdgpu display core (DC/DM) (drm/amd/display): An out-of-bounds access in the amdgpu display core (DC/DM)CVE-2024-26660 · Linux kernel amdgpu display core (DC/DM) (drm/amd/display)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.