CVE-2026-68264 in Linux
Sumário
de VulDB • 10/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
drm/xe/pt: Redefinir current_op em xe_pt_update_ops_init()
A função xe_pt_update_ops_init() falha ao redefinir current_op para 0. No caminho vm_bind, ops_execute() chama xe_pt_update_ops_prepare() dentro do loop xe_validation_guard() / drm_exec_until_all_locked(). Quando esse loop é retentado devido a contenção de bloqueio ou evicção por OOM (drm_exec_retry_on_contention() / xe_validation_retry_on_oom()), xe_pt_update_ops_prepare() executa novamente sobre os mesmos vops, e cada chamada para bind_op_prepare() incrementa current_op sem redefini-lo.
Após N retentativas, current_op excede o tamanho do array alocado por xe_vma_ops_alloc(), causando uma escrita fora dos limites (out-of-bounds) em memória envenenada pelo SLUB e um subsequente crash de Use-After-Free (UAF) em xe_migrate_update_pgtables_cpu() ao ler pt_op->bind corrompido.
Redefinir também needs_svm_lock e needs_invalidation, que são derivados na mesma fase de preparação e, caso contrário, causariam a seleção incorreta das operações de migração e invalidação redundante da TLB durante a retentativa.
Corrigir isso redefinindo current_op, needs_svm_lock e needs_invalidation em xe_pt_update_ops_init().
v2 (Matt): - Adicionar detalhes na mensagem do commit. - Adicionar tag Fixes e Cc para [email protected]
(cherry picked from commit 046045543e530605c441063535e7dca0075369a6)
If you want to get best quality of vulnerability data, you may have to visit VulDB.