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

drm/vc4: Zero the tile state data array before each BIN job

The binner BO is a single 16MB buffer split into 512KB slots that are
handed out to jobs at submission time and recycled as jobs complete,
without ever being cleared. Each slot holds the job's Tile State Data
Array (TSDA) at its start, followed by the tile allocation pool.

While the tile allocation pool is only walked by the render thread
through branches the binner generated during the current job, the
TSDA is the PTB's own per-tile bookkeeping and is consumed by the
hardware itself. Although the kernel sets the "Auto-initialise Tile
State Data Array" flag in the tile binning mode configuration, the
PTB demonstrably still acts on stale tile state left by the slot's
previous user: the binner ends up creating invalid command streams
with invalid primitive streams and branches, which can cause GPU hangs
as observed in [1][2].

Zero the TSDA when the job's binning slot is configured. This clears
48 bytes per tile (~24KB for a 1080p frame) in the submission path, and
guarantees the PTB never sees another job's tile state.

The tile count is only checked for being non-zero today, so the 8-bit
fields it comes from can describe a tile state array almost six times
larger than the slot it has to live in. Bound it before the slot is
handed out, since such size decides how much of the slot is left for
the tile alloc pool.
Published: 2026-08-15
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The bug exists in the VC4 DRM driver of the Linux kernel. It stems from the binner buffer, a 16 MB region split into 512 KB slots, that is reused for each rendering job without clearing its contents. Each slot contains a Tile State Data Array (TSDA) used by the PTB hardware. Because the driver fails to zero this data before handing the slot to a new job, stale TSDA information from a previous rendering pass can be processed. This results in malformed command streams and invalid PRIM or BRANCH commands, which in turn can cause the GPU to hang, potentially propagating a kernel or process crash and denying service to users.

Affected Systems

All Linux kernel builds that include the VC4 DRM driver before the zeroing patch are affected. The flaw is present in all releases until the driver commit that adds zeroing is merged into the kernel; therefore any installation with VC4 GPU support that has not applied the patch remains vulnerable.

Risk and Exploitability

The CVSS score is 7.8 and the EPSS score is < 1%, indicating a low but non‑zero exploitation probability. The vulnerability is not listed in the CISA KEV catalog. Based on the description, the likely attack vector is via the DRM user‑space interface: an attacker who can submit rendering jobs to the VC4 driver can trigger the stale TSDA logic. No public exploit is documented, but the presence of a kernel bug that leads to GPU hangs makes it a moderate to high risk for denial of service on affected systems.

Generated by OpenCVE AI on August 21, 2026 at 21:20 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest kernel update that includes the patch to zero the TSDA before each BIN job
  • If an immediate kernel update is unavailable, backport or apply the vendor‑supplied patch that inserts the zero‑ing logic before job submission
  • Restrict access to the DRM interfaces so that only trusted users or privileged processes can submit jobs to the VC4 driver
  • Monitor system logs and GPU activity for signs of hangs or crashes, and re‑apply the fix if a problem is detected

Generated by OpenCVE AI on August 21, 2026 at 21:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6466-1 linux security update
History

Thu, 20 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-908
References
Metrics threat_severity

None

threat_severity

Moderate


Wed, 19 Aug 2026 16:45:00 +0000


Mon, 17 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-386

Mon, 17 Aug 2026 11:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416
CWE-457

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sat, 15 Aug 2026 14:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416
CWE-457

Sat, 15 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/vc4: Zero the tile state data array before each BIN job The binner BO is a single 16MB buffer split into 512KB slots that are handed out to jobs at submission time and recycled as jobs complete, without ever being cleared. Each slot holds the job's Tile State Data Array (TSDA) at its start, followed by the tile allocation pool. While the tile allocation pool is only walked by the render thread through branches the binner generated during the current job, the TSDA is the PTB's own per-tile bookkeeping and is consumed by the hardware itself. Although the kernel sets the "Auto-initialise Tile State Data Array" flag in the tile binning mode configuration, the PTB demonstrably still acts on stale tile state left by the slot's previous user: the binner ends up creating invalid command streams with invalid primitive streams and branches, which can cause GPU hangs as observed in [1][2]. Zero the TSDA when the job's binning slot is configured. This clears 48 bytes per tile (~24KB for a 1080p frame) in the submission path, and guarantees the PTB never sees another job's tile state. The tile count is only checked for being non-zero today, so the 8-bit fields it comes from can describe a tile state array almost six times larger than the slot it has to live in. Bound it before the slot is handed out, since such size decides how much of the slot is left for the tile alloc pool.
Title drm/vc4: Zero the tile state data array before each BIN job
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-19T16:36:43.715Z

Reserved: 2026-08-15T05:44:03.899Z

Link: CVE-2026-74453

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T13:17:49.893

Modified: 2026-08-19T17:21:01.953

Link: CVE-2026-74453

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-74453 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T21:30:17Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

  • CWE-386

    Symbolic Name not Mapping to Correct Object

  • CWE-908

    Use of Uninitialized Resource