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

drm/xe/guc: Fix buffer overflow in steered register list allocation

The size calculation for the steered register extarray uses only the
geometry DSS mask (g_dss_mask) to determine the number of entries to
allocate:

total = bitmap_weight(gt->fuse_topo.g_dss_mask, ...) * steer_reg_num;

However, the filling loop uses for_each_dss_steering(), which iterates
over for_each_dss(), defined as the union of g_dss_mask and c_dss_mask
(geometry + compute DSS). On platforms with compute-only DSS bits, the
loop writes past the allocated buffer, corrupting adjacent slab objects.

This manifests as list_del corruption and SLUB redzone overwrites during
drm_managed_release on device unbind, since the overflow corrupts the
drmres list_head of neighboring allocations.

Fix by computing the allocation size using the union of both DSS masks,
matching the iteration pattern of for_each_dss_steering().

--
v2:
- use bitmap_weighted_or() (Zhanjun)

(cherry picked from commit 0a78a44f4901aa6c9263e66be7fce02282f1109f)
Published: 2026-08-10
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel’s DRM Xe GuC driver incorrectly calculates the size of a steered register list using only the geometry DSS mask. When a platform uses compute‑only DSS bits, the allocation is smaller than the number of entries written, which overflows the buffer and corrupts adjacent slab objects. This memory corruption can cause list_head corruption and SLUB redzone overwrites during device unbind, potentially leading to kernel stability issues or exploitable memory corruption that could be leveraged for privilege escalation or arbitrary code execution.

Affected Systems

All Linux kernel installations that include the DRM Xe GuC subsystem and are running a version prior to the commit that fixes the size calculation. The vulnerability applies to any kernel compiled with the affected driver, regardless of distribution, as the CPE indicates a generic Linux kernel.

Risk and Exploitability

No CVSS score is provided for this entry, and the EPSS value is not available, so the likelihood of exploitation cannot be quantified from the available data. Because the flaw involves kernel memory corruption, it is a high‑severity condition. The likely attack vector is a local or privileged context where an adversary can influence the DRM driver’s configuration. The vulnerability is not listed in the CISA KEV catalog, indicating that there is no known active exploitation at the time of this analysis.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a release that includes the drm/xe/guc driver fix commit.
  • If a kernel upgrade cannot be performed immediately, manually apply the patch implementing the corrected size calculation (commit 0a78a44f).
  • As a temporary mitigation, limit the use of compute‑only DSS devices or restrict privileged access to the DRM subsystem to trusted users only.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 10 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

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/xe/guc: Fix buffer overflow in steered register list allocation The size calculation for the steered register extarray uses only the geometry DSS mask (g_dss_mask) to determine the number of entries to allocate: total = bitmap_weight(gt->fuse_topo.g_dss_mask, ...) * steer_reg_num; However, the filling loop uses for_each_dss_steering(), which iterates over for_each_dss(), defined as the union of g_dss_mask and c_dss_mask (geometry + compute DSS). On platforms with compute-only DSS bits, the loop writes past the allocated buffer, corrupting adjacent slab objects. This manifests as list_del corruption and SLUB redzone overwrites during drm_managed_release on device unbind, since the overflow corrupts the drmres list_head of neighboring allocations. Fix by computing the allocation size using the union of both DSS masks, matching the iteration pattern of for_each_dss_steering(). -- v2: - use bitmap_weighted_or() (Zhanjun) (cherry picked from commit 0a78a44f4901aa6c9263e66be7fce02282f1109f)
Title drm/xe/guc: Fix buffer overflow in steered register list allocation
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:49.762Z

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

Link: CVE-2026-68274

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T15:30:05Z

Weaknesses
  • CWE-119

    Improper Restriction of Operations within the Bounds of a Memory Buffer