CVE-2026-68272 PUBLISHED

drm/amdgpu: validate CP_GFX_SHADOW chunk size in CS pass1

Assigner: Linux
Reserved: 30.07.2026 Published: 10.08.2026 Updated: 10.08.2026

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)

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from ac9287055ff16a092416c76a19006764e4c6a978 to 3f190956404da55560056ce20606010e18bc059c (excl.)
  • affected from ac9287055ff16a092416c76a19006764e4c6a978 to 2aa9ea2bd5146d237c8cc16d8737d878b0298a94 (excl.)
  • affected from ac9287055ff16a092416c76a19006764e4c6a978 to 315d2e5741a81b0be763e80413a2677e22b7e596 (excl.)
  • affected from ac9287055ff16a092416c76a19006764e4c6a978 to 24668ca3ec19434d7a9574bf9112f2b0614c3a4e (excl.)
  • affected from ac9287055ff16a092416c76a19006764e4c6a978 to 84c4c36acd5c4b2558b5069f869a165b2c655c84 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.5 is affected
  • unaffected from 0 to 6.5 (excl.)
  • unaffected from 6.6.148 to 6.6.* (incl.)
  • unaffected from 6.12.101 to 6.12.* (incl.)
  • unaffected from 6.18.42 to 6.18.* (incl.)
  • unaffected from 7.1.6 to 7.1.* (incl.)
  • unaffected from 7.2-rc1 to * (incl.)

References