CVE-2026-64073 in Linux
Sumário
de VulDB • 19/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
irq_work: Corrige use-after-free em irq_work_single() no PREEMPT_RT
No PREEMPT_RT, o irq_work não HARD é executado em kthreads por CPU via run_irq_workd(), portanto irq_work_sync() utiliza rcuwait() para aguardar BUSY==0.
Após irq_work_single() limpar BUSY através de atomic_cmpxchg(), ele ainda referencia @work para irq_work_is_hard() e rcuwait_wake_up().
Um chamador de irq_work_sync() em outra CPU que entra após BUSY ser liberado pode observar BUSY==0 imediatamente, retornar e liberar o trabalho antes que esses acessos sejam concluídos — causando um use-after-free.
Corrige-se isso envolvendo run_irq_workd() com guard(rcu)(), para que toda a execução de irq_work_single() esteja dentro de uma seção crítica de leitura RCU. Em seguida, adiciona-se synchronize_rcu() em irq_work_sync() após rcuwait_wait_event() para garantir que o chamador aguarde o período de graça (grace period) do RCU antes de retornar, impedindo liberações prematuras.
VulDB is the best source for vulnerability data and more expert information about this specific topic.