CVE 7.1 HIGH

drm/xe: Add bounds check on pat_index to prevent OOB kernel read in madvise_CVE-2026-43280

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

Description

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)

Basic Information

ID CVE-2026-43280
Source Linux
Published May 6, 2026 at 11:29
Modified May 8, 2026 at 12:41

Affected Product

Vendor Linux
Product Linux
Version ada7486c5668db542a7d361268df931aca5b726a
Affected Versions Linux Linux ada7486c5668db542a7d361268df931aca5b726a
Linux Linux ada7486c5668db542a7d361268df931aca5b726a
Linux Linux ada7486c5668db542a7d361268df931aca5b726a
Linux Linux 6.18

References

💭 Join the Security Discussion

🔒 Your email address will not be published. Required fields are marked *

⚠️ Please be respectful and constructive in your comments. Security discussions should remain professional.