KernelScan.io

HIGH

drm/xe PatIndex OOB

CVE-2026-43280

CVSS 7.1 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H

KernelScan AI3.3LOW

01

In the Linux kernel, the following vulnerability has been resolved: drm/xe: Add bounds check on pat_index to prevent OOB kernel read in madvise When user provides a bogus pat_index value through the madvise IOCTL, the xe_pat_index_get_coh_mode() function performs an array access without validating bounds. This allows a malicious user to trigger an out-of-bounds kernel read from the xe->pat.table array. The vulnerability exists because the validation in madvise_args_are_sane() directly calls xe_pat_index_get_coh_mode(xe, args->pat_index.val) without first checking if pat_index is within [0, xe->pat.n_entries). Although xe_pat_index_get_coh_mode() has a WARN_ON to catch this in debug builds, it still performs the unsafe array access in production kernels. v2(Matthew Auld) - Using array_index_nospec() to mitigate spectre attacks when the value is used v3(Matthew Auld) - Put the declarations at the start of the block (cherry picked from commit 944a3329b05510d55c69c2ef455136e2fc02de29)

02

Engine v0.2.0

Risk summary

Local users with access to Intel XE GPU devices can trigger an out-of-bounds kernel memory read by providing invalid pat_index values through the madvise IOCTL. This could potentially leak kernel memory contents but requires local access and GPU device permissions.

Affecteddrivers/gpu/drm/xe/xe_vm_madvise.c (Intel XE GPU driver)

Vulnerability analysis

The vulnerability occurs in the DRM XE driver's madvise IOCTL handler where user-supplied pat_index values are used to index into the xe->pat.table array without bounds validation. The madvise_args_are_sane() function calls xe_pat_index_get_coh_mode() directly with the user-provided index, allowing reads beyond the allocated array. The fix adds proper bounds checking using XE_IOCTL_DBG() and employs array_index_nospec() to prevent speculative execution attacks. Attack surface is limited to local users with DRM device access on systems with Intel XE GPUs.

03

BranchFixed inPatch commit
6.186.18.16ffba51100ff6
6.196.19.679f52655567a
mainline7.0fbbe32618e97