CVE-2026-74382 in Linuxinformação

Sumário

de VulDB • 17/08/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

net/sched: cls_bpf: prevenir recursão ilimitada no rollback de offload

Quan Sun relatou [1] um estouro de pilha (stack overflow) em cls_bpf_offload_cmd().

Reprodutor no netdevsim: adicione um filtro cls_bpf com skip_sw, defina o knob debugfs bpf_tc_accept para 0 e execute `tc filter replace`. O comando replace chama tc_setup_cb_replace(), que falha. Em seguida, cls_bpf_offload_cmd() troca prog/oldprog e se chama recursivamente para realizar o rollback. No entanto, com bpf_tc_accept=0, o próprio rollback também falha, o que aciona outro frame de rollback com os mesmos argumentos, e assim por diante até que a pilha seja esgotada.

bpf_tc_accept é apenas um knob conveniente para o reprodutor. Qualquer driver cuja tc_setup_cb_replace() falhe duas vezes consecutivas pode atingir o mesmo loop, portanto, este não é um problema exclusivo do netdevsim.

Duas maneiras de corrigir:

1) Fazer com que a chamada de rollback invoque tc_setup_cb_add() em oldprog em vez de reentrar em cls_bpf_offload_cmd(). 2) Marcar o frame de rollback com uma flag e pular um segundo nível de rollback a partir dele.

Optou-se pela opção (2). É a alteração mais simples e mantém o comportamento original: o rollback ainda passa por tc_setup_cb_replace(), permitindo que o driver tenha uma chance real de restaurar seu estado. Se essa tentativa também falhar, retornamos apenas o erro original em vez de recursão.

[1]: https://lore.kernel.org/bpf/[email protected]/T/#u

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

Responsável

Linux

Reservar

15/08/2026

Divulgação

15/08/2026

Moderação

aceite

Entrada

VDB-390350

CPE

pronto

EPSS

0.00195

KEV

não

Atividades

muito baixo

Fontes

Do you need the next level of professionalism?

Upgrade your account now!