Description
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)
Published: 2026-08-10
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The kernel driver for AMD GPUs contains a null‑pointer dereference that occurs when a user submits an excessively small CP_GFX_SHADOW chunk (length_dw == 0). The kernel’s command‑submit path walks a zero‑length buffer, interprets it as a structured shadow data block, and reads a field from the resulting pointer. This invalid access faults the kernel, causing a system reboot. The same flaw existed in other lightweight chunk types, but the CP_GFX_SHADOW case had no length guard until this patch. The vulnerability is a classic Flutter “Null Pointer Dereference” that leads to a denial‑of‑service condition.

Affected Systems

All Linux kernel releases that compile with the amdgpu driver and have not yet applied the patch that adds a minimum‑length check for the CP_GFX_SHADOW chunk. The affected code lives in drm/amdgpu and applies to devices that enable the render group for users to submit command buffers. No other products or platforms are listed.

Risk and Exploitability

The flaw is exploitable by any unprivileged user in the render group that can submit command buffers. No network exposure or elevated privileges are required; the attack is local and only needs interface access to the DRM device. The EPSS score is not supplied, and the vulnerability is not listed in the CISA KEV catalog, suggesting no publicly observed exploitation yet. However, the impact is severe—an unpatched system can be brought down at will by a user who can write to the GPU device. The risk is mitigated only by applying the kernel patch that enforces the chunk length check before the data is interpreted.

Generated by OpenCVE AI on August 10, 2026 at 15:30 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to a kernel version that includes the amdgpu CP_GFX_SHADOW chunk size validation patch.
  • If upgrade is not immediately possible, restrict or remove unprivileged users from the render group or move the render device to a privileged group only.
  • After applying the patch, reboot the system or reload the amdgpu kernel module to ensure the fix takes effect.

Generated by OpenCVE AI on August 10, 2026 at 15:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 10 Aug 2026 16:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description 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)
Title drm/amdgpu: validate CP_GFX_SHADOW chunk size in CS pass1
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-10T12:01:47.708Z

Reserved: 2026-07-30T09:28:09.378Z

Link: CVE-2026-68272

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T15:45:03Z

Weaknesses