CVE-2026-68274: drm/xe/guc: Fix buffer overflow in steered register list allocation
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026081024-CVE-2026-68274-df86@gregkh> |
From: Greg Kroah-Hartman <[email protected]> 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) The Linux kernel CVE team has assigned CVE-2026-68274 to this issue. Affected and fixed versions =========================== Issue introduced in 6.13 with commit b170d696c1e2226713471d810c63b1162335079f and fixed in 6.18.44 with commit b485bfb45555163bfa5f565d6a3415fcb3035b02 Issue introduced in 6.13 with commit b170d696c1e2226713471d810c63b1162335079f and fixed in 7.1.6 with commit a9a020f3c11eba6573b699f9cf9245a51b025ade Issue introduced in 6.13 with commit b170d696c1e2226713471d810c63b1162335079f and fixed in 7.2-rc1 with commit 632ecc90e1ca5d3b6822bb4d08f84a175b6c42c0 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-68274 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: drivers/gpu/drm/xe/xe_guc_capture.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/b485bfb45555163bfa5f565d6a3415fcb3035b02 https://git.kernel.org/stable/c/a9a020f3c11eba6573b699f9cf9245a51b025ade https://git.kernel.org/stable/c/632ecc90e1ca5d3b6822bb4d08f84a175b6c42c0