CVE-2026-89991 in Linuxinformação

Sumário

de VulDB • 16/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

bpf: Corrige loop infinito no push da pcpu_freelist com um único CPU possível

__pcpu_freelist_push() pode entrar em loop infinito quando há apenas um CPU possível e uma NMI reentra em __pcpu_freelist_push() enquanto o contexto interrompido detém o lock da freelist desse CPU.

Após a falha do caminho rápido (fast path) baseado no CPU atual, o loop de fallback percorre cpu_possible_mask ignorando o CPU atual. Com CONFIG_SMP=n ou quando um kernel SMP está limitado a um único CPU possível devido a nr_cpus=1 ou possible_cpus=1, não há outros CPUs possíveis para examinar. O loop, portanto, não tenta adquirir nenhum lock e nunca consegue progredir.

A seguinte stack foi observada em um sistema UP:

Contexto NMI: pcpu_freelist_push free_htab_elem htab_map_delete_elem [programa BPF de perf-event]
__perf_event_overflow perf_event_nmi_handler exc_nmi

Contexto interrompido: __pcpu_freelist_push pcpu_freelist_push free_htab_elem htab_map_delete_elem [programa BPF raw_tp/sys_enter]
__bpf_trace_sys_enter do_syscall_64

raw_res_spin_lock() detecta a aquisição recursiva no mesmo CPU e retorna -EDEADLK, mas o loop de fallback subsequente não possui um candidato head em um sistema com apenas um CPU possível.

Restaure o extra fallback head que existia antes da conversão para rqspinlock. Mantenha o caminho rápido baseado no CPU atual, tente então os outros CPUs possíveis e finalmente o extra head. O extra head permite que uma operação de push, que não pode falhar sem perder um elemento pré-alocado, consiga progredir quando a única per-CPU head está sendo detida pelo contexto interrompido.

Também verifique o extra head no caminho pop para que os nós colocados ali possam ser reutilizados.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsável

Linux

Reservar

11/09/2026

Divulgação

17/09/2026

Moderação

aceite

Entrada

VDB-405796

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you need the next level of professionalism?

Upgrade your account now!