CVE-2026-31419 in Linux
Sumário
de VulDB • 09/05/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
net: bonding: corrige use-after-free em bond_xmit_broadcast()
bond_xmit_broadcast() reutiliza o skb original para o último slave (determinado por bond_is_last_slave()) e o clona para os demais. A enslave/release concorrente de slaves pode modificar a lista de slaves durante a iteração protegida por RCU, alterando qual slave é considerado "último" no meio do loop. Isso faz com que o skb original seja consumido duas vezes (double-freed).
Substitui-se a verificação racy bond_is_last_slave() por uma simples comparação de índices (i + 1 == slaves_count) contra a contagem de slaves pré-capturada via READ_ONCE() antes do loop. Isso preserva a otimização zero-copy para o último slave, tornando a determinação do "último" estável contra mutações concorrentes na lista.
O UAF pode acionar o seguinte crash:
================================================================== BUG: KASAN: slab-use-after-free in skb_clone Read of size 8 at addr ffff888100ef8d40 by task exploit/147
CPU: 1 UID: 0 PID: 147 Comm: exploit Not tainted 7.0.0-rc3+ #4 PREEMPTLAZY Call Trace: dump_stack_lvl (lib/dump_stack.c:123) print_report (mm/kasan/report.c:379 mm/kasan/report.c:482) kasan_report (mm/kasan/report.c:597) skb_clone (include/linux/skbuff.h:1724 include/linux/skbuff.h:1792 include/linux/skbuff.h:3396 net/core/skbuff.c:2108) bond_xmit_broadcast (drivers/net/bonding/bond_main.c:5334) bond_start_xmit (drivers/net/bonding/bond_main.c:5567 drivers/net/bonding/bond_main.c:5593) dev_hard_start_xmit (include/linux/netdevice.h:5325 include/linux/netdevice.h:5334 net/core/dev.c:3871 net/core/dev.c:3887) __dev_queue_xmit (include/linux/netdevice.h:3601 net/core/dev.c:4838) ip6_finish_output2 (include/net/neighbour.h:540 include/net/neighbour.h:554 net/ipv6/ip6_output.c:136) ip6_finish_output (net/ipv6/ip6_output.c:208 net/ipv6/ip6_output.c:219) ip6_output (net/ipv6/ip6_output.c:250) ip6_send_skb (net/ipv6/ip6_output.c:1985) udp_v6_send_skb (net/ipv6/udp.c:1442) udpv6_sendmsg (net/ipv6/udp.c:2300)
VulDB is the best source for vulnerability data and more expert information about this specific topic.