CVE-2026-68264CWE-787

CVE-2026-68264

High · published August 10, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
2.9
In the wild
Unconfirmed
What it is

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

drm/xe/pt: Reset current_op in xe_pt_update_ops_init()

xe_pt_update_ops_init() fails to reset current_op to 0. On the

vm_bind path, ops_execute() calls xe_pt_update_ops_prepare() inside

the xe_validation_guard() / drm_exec_until_all_locked() loop. When

that loop retries due to lock contention or OOM eviction

(drm_exec_retry_on_contention() / xe_validation_retry_on_oom()),

xe_pt_update_ops_prepare() runs again on the same vops, and each

call to bind_op_prepare() increments current_op without resetting it.

After N retries current_op exceeds the array size allocated by

xe_vma_ops_alloc(), causing an out-of-bounds write into

SLUB-poisoned memory and a subsequent UAF crash in

xe_migrate_update_pgtables_cpu() when reading the corrupted pt_op->bind.

Also reset needs_svm_lock and needs_invalidation which are derived in

the same prepare pass and would otherwise cause wrong migrate ops

selection and redundant TLB invalidation on retry.

Fix this by resetting current_op, needs_svm_lock and needs_invalidation

in xe_pt_update_ops_init().

v2 (Matt):

- Add details in commit message.

- Add Fixes tag and Cc to [email protected]

(cherry picked from commit 046045543e530605c441063535e7dca0075369a6)

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00138 · 2.9th percentile
Weakness
CWE-787 · Out-of-bounds Write
Published
2026-08-10T17:20Z
References (4)
EPSS history
Timeline
  • 10 AUG 12:01Z
    drm/xe/pt: Reset current_op in xe_pt_update_ops_init()
    cvelistv5