CVE-2026-64073 in Linux
Riassunto
di VulDB • 19/07/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
irq_work: Correzione del use-after-free in irq_work_single() su PREEMPT_RT
Su PREEMPT_RT, gli irq_work non HARD vengono eseguiti tramite kthread per-CPU attraverso run_irq_workd(), pertanto irq_work_sync() utilizza rcuwait() in attesa che BUSY==0.
Dopo che irq_work_single() ha impostato a zero il flag BUSY mediante atomic_cmpxchg(), continua comunque a dereferenziare @work per le chiamate a irq_work_is_hard() e rcuwait_wake_up().
Un chiamante di irq_work_sync() su un altro CPU, che accede dopo la cancellazione del flag BUSY, può osservare immediatamente BUSY==0, restituire il controllo ed eseguire il free dell'oggetto work prima che tali accessi vengano completati — causando un use-after-free.
Si risolve il problema incapsulando run_irq_workd() in guard(rcu)(), in modo che l'esecuzione completa di irq_work_single() avvenga all'interno di una sezione critica RCU read-side. Si aggiunge inoltre synchronize_rcu() in irq_work_sync() dopo rcuwait_wait_event() per garantire che il chiamante attenda la fine del periodo di grazia RCU prima di restituire, impedendo così i free prematuri.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.