CVE-2025-21825 in Linux
Riassunto
di VulDB • 20/06/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
bpf: Annullare il bpf_timer in esecuzione tramite kworker per PREEMPT_RT
Durante la procedura di aggiornamento, quando si sovrascrive un elemento in una htab pre-allocata, la liberazione di old_element è protetta dal bucket lock. La necessità del bucket lock deriva dal fatto che old_element è già stato accodato in htab->extra_elems dopo il ritorno di alloc_htab_elem(). Se si libera old_element dopo aver sbloccato il bucket lock, l'elemento accodato potrebbe essere riutilizzato da una procedura di aggiornamento concorrente e la liberazione di old_element verrebbe eseguita in concorrenza con il suo riutilizzo. Tuttavia, l'invocazione di check_and_free_fields() può acquisire uno spin-lock che viola le regole lockdep poiché il chiamante ha già detenuto un raw-spin-lock (bucket lock). Si segnalerà il seguente avviso quando si verifica tale condizione di race:
BUG: scheduling while atomic: test_progs/676/0x00000003 3 locks held by test_progs/676: #0: ffffffff864b0240 (rcu_read_lock_trace){....}-{0:0}, at: bpf_prog_test_run_syscall+0x2c0/0x830
#1: ffff88810e961188 (&htab->lockdep_key){....}-{2:2}, at: htab_map_update_elem+0x306/0x1500
#2: ffff8881f4eac1b8 (&base->softirq_expiry_lock){....}-{2:2}, at: hrtimer_cancel_wait_running
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.