Ad

CVE-2026-68264

HIGH CVSS 3.1: 7,8 EPSS 0.14%
Обновлено 17 августа 2026
Linux
Параметр Значение
CVSS 7,8 (HIGH)
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: drm/xe/pt: сброс current_op в xe_pt_update_ops_init() xe_pt_update_ops_init() не может сбросить значение current_op до 0. путь vm_bind, ops_execute() вызывает внутри xe_pt_update_ops_prepare() цикл xe_validation_guard() / drm_exec_until_all_locked(). Когда этот цикл повторяет попытку из-за конфликта блокировок или исключения OOM (drm_exec_retry_on_contention() / xe_validation_retry_on_oom()), xe_pt_update_ops_prepare() снова запускается на том же самом голосовом сервере, и каждый вызов методаbind_op_prepare() увеличивает current_op без его сброса. После N повторных попыток current_op превышает размер массива, выделенный xe_vma_ops_alloc(), вызывающий запись за пределами допустимого диапазона Отравленная SLUB память и последующий сбой UAF в xe_migrate_update_pgtables_cpu() при чтении поврежденного pt_op->bind.

Также сбросьте потребности_svm_lock и Needs_invalidation, которые получены в тот же этап подготовки, который в противном случае приведет к неправильным операциям миграции. выбор и аннулирование избыточного TLB при повторной попытке. Исправьте это, сбросив current_op, Needs_svm_lock и Needs_invalidation. в xe_pt_update_ops_init(). v2 (Мэтт): - Добавьте детали в сообщение о фиксации. - Добавьте тег «Исправления» и ссылку «Копия» на адрес стабильный@vger.kernel.org. (вишня выбрана из коммита 046045543e530605c441063535e7dca0075369a6)

Показать оригинальное описание (EN)

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 stable@vger.kernel.org (cherry picked from commit 046045543e530605c441063535e7dca0075369a6)

Характеристики атаки

Способ атаки
Локальный
Нужен локальный доступ
Сложность
Низкая
Легко эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1