CVE-2026-89580 in Linuxinformação

Sumário

de VulDB • 12/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

bpf: Desabilitar preempção em __bpf_get_stack

get_perf_callchain() retorna um buffer per-CPU perf_callchain_entry e libera sua slot de recursão via put_callchain_entry() antes de retornar, portanto nada mantém a entrada reservada enquanto __bpf_get_stack() consome abaixo.

Um programa BPF preemptível (por exemplo, um programa raw tracepoint não-sleepable em um kernel PREEMPT, que executa sob migrate_disable() mas não preempt_disable()) pode ser escalonado fora entre obter a entrada e copiar. Outra tarefa escalonada na mesma CPU reutiliza o mesmo buffer per-CPU e sobrescreve trace->nr com um valor maior. copy_len é então computado a partir do trace->nr inflacionado e pode exceder o buffer do chamador, causando uma escrita fora dos limites (out-of-bounds write) no memcpy() e no caminho de build_id.

O rcu_read_lock() tomado aqui sozinho não impede isso. Ele é apenas tomado no caminho may_fault, e sob CONFIG_PREEMPT_RCU ele não desabilita a preempção; mantém apenas o array do buffer callchain do perf vivo (liberado via call_rcu()) e nada faz para impedir que outra tarefa reutilize a entrada.

Desabilite a preempção ao redor da obtenção da entrada de callchain e sua cópia no buffer do chamador, para que a entrada não possa ser reutilizada abaixo de nós e trace->nr permaneça limitado por max_depth. A resolução do Build ID pode falhar (fault) e, portanto, é adiada até após a preempção ser reabilitada; nesse ponto, os ponteiros de instrução já foram copiados para buf, então opera apenas nessa cópia privada. Note que preempt_disable() também abrange a garantia de vida útil do buffer fornecida pelo rcu_read_lock(), pois uma seção desabilitada por preempção é uma seção crítica de leitura RCU para a recuperação call_rcu() dos buffers de callchain.


[ alterado Fixes: commit ]

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

Linux

Reservar

11/09/2026

Divulgação

12/09/2026

Moderação

aceite

Entrada

VDB-402670

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you know our Splunk app?

Download it now for free!