CVE-2026-68264
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
10/08/2026
Última modificación:
17/08/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
drm/xe/pt: Reset current_op in xe_pt_update_ops_init()<br />
<br />
xe_pt_update_ops_init() fails to reset current_op to 0. On the<br />
vm_bind path, ops_execute() calls xe_pt_update_ops_prepare() inside<br />
the xe_validation_guard() / drm_exec_until_all_locked() loop. When<br />
that loop retries due to lock contention or OOM eviction<br />
(drm_exec_retry_on_contention() / xe_validation_retry_on_oom()),<br />
xe_pt_update_ops_prepare() runs again on the same vops, and each<br />
call to bind_op_prepare() increments current_op without resetting it.<br />
<br />
After N retries current_op exceeds the array size allocated by<br />
xe_vma_ops_alloc(), causing an out-of-bounds write into<br />
SLUB-poisoned memory and a subsequent UAF crash in<br />
xe_migrate_update_pgtables_cpu() when reading the corrupted pt_op->bind.<br />
<br />
Also reset needs_svm_lock and needs_invalidation which are derived in<br />
the same prepare pass and would otherwise cause wrong migrate ops<br />
selection and redundant TLB invalidation on retry.<br />
<br />
Fix this by resetting current_op, needs_svm_lock and needs_invalidation<br />
in xe_pt_update_ops_init().<br />
<br />
v2 (Matt):<br />
- Add details in commit message.<br />
- Add Fixes tag and Cc to stable@vger.kernel.org<br />
<br />
(cherry picked from commit 046045543e530605c441063535e7dca0075369a6)
Impacto
Puntuación base 3.x
7.80
Gravedad 3.x
ALTA



