CVE-2025-21825 in Linux
Sumário
de VulDB • 09/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
bpf: Cancelar o bpf_timer em execução através do kworker para PREEMPT_RT
Durante o procedimento de atualização, ao sobrescrever um elemento em um htab pré-alocado, a liberação do old_element é protegida pelo bucket lock. A razão pela qual o bucket lock é necessário é que o old_element já foi armazenado em htab->extra_elems após o retorno de alloc_htab_elem(). Se o old_element for liberado após o bucket lock ser desbloqueado, o elemento armazenado pode ser reutilizado pelo procedimento de atualização concorrente e a liberação do old_element será executada em concorrência com a reutilização do old_element. No entanto, a invocação de check_and_free_fields() pode adquirir um spin-lock, o que viola a regra do lockdep porque seu chamador já possui um raw-spin-lock (bucket lock) mantido. O seguinte aviso será relatado quando tal race condition ocorrer:
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+0xe9/0x130
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.