CVE-2026-68272

Summary

In the Linux kernel, the following vulnerability has been resolved:

drm/amdgpu: validate CP_GFX_SHADOW chunk size in CS pass1

Add a minimum-length check for the AMDGPU_CHUNK_ID_CP_GFX_SHADOW chunk in amdgpu_cs_pass1(), matching the gate already present for the IB, FENCE and BO_HANDLES chunk types.

The CP_GFX_SHADOW case previously shared a bare break with the dependency and syncobj chunk types, which do not dereference a fixed-size struct. When userspace submits this chunk with length_dw == 0, vmemdup_array_user() is called with size 0 and returns ZERO_SIZE_PTR, which passes the IS_ERR() check. amdgpu_cs_p2_shadow() then dereferences chunk->kdata as a struct drm_amdgpu_cs_chunk_cp_gfx_shadow (reading shadow->flags), faulting on the ZERO_SIZE_PTR and causing a NULL-pointer dereference.

This is reachable by an unprivileged process in the render group. Reject undersized chunks with -EINVAL during pass1 so the bad submission is rejected before pass2 ever dereferences the data.

(cherry picked from commit 7f61b2eef7415eccdb40850aca0de94211948657)

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxac9287055ff16a092416c76a19006764e4c6a978 < 3f190956404da55560056ce20606010e18bc059caffected
LinuxLinuxac9287055ff16a092416c76a19006764e4c6a978 < 2aa9ea2bd5146d237c8cc16d8737d878b0298a94affected
LinuxLinuxac9287055ff16a092416c76a19006764e4c6a978 < 315d2e5741a81b0be763e80413a2677e22b7e596affected
LinuxLinuxac9287055ff16a092416c76a19006764e4c6a978 < 24668ca3ec19434d7a9574bf9112f2b0614c3a4eaffected
LinuxLinuxac9287055ff16a092416c76a19006764e4c6a978 < 84c4c36acd5c4b2558b5069f869a165b2c655c84affected
LinuxLinux6.5affected
LinuxLinux0 < 6.5unaffected
LinuxLinux6.6.148 <= 6.6.*unaffected
LinuxLinux6.12.101 <= 6.12.*unaffected
LinuxLinux6.18.42 <= 6.18.*unaffected
LinuxLinux7.1.6 <= 7.1.*unaffected
LinuxLinux7.2-rc1 <= *unaffected

Weaknesses

References