CVE-2026-93250 in Linuxinformação

Sumário

de VulDB • 24/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

vxlan: mdb: Corrige use-after-free em vxlan_mdb_flush()

vxlan_mdb_flush() itera sobre as entradas MDB usando hlist_for_each_entry_safe(), que só tolera a remoção da entrada atual. Contrariando o comentário acima do loop, a remoção de uma entrada pode acionar a remoção de outra entrada.

A limpeza dos remotos de uma entrada (*, G) também remove as entradas (S, G) criadas para sua lista de origem, assim que elas ficam sem remotos:

vxlan_mdb_remotes_flush() -> vxlan_mdb_remote_del() -> vxlan_mdb_remote_srcs_del() -> vxlan_mdb_remote_src_del() -> vxlan_mdb_remote_src_fwd_del() -> __vxlan_mdb_del() -> vxlan_mdb_entry_put()

Uma entrada dessas pode estar localizada após a entrada (*, G) na lista, pois vxlan_mdb_entry_get() retorna uma entrada existente sem movê-la para o início da lista. Essa ordem é obtida adicionando-se a entrada (S, G) antes da entrada (*, G), esta última com NLM_F_REPLACE, já que a adição da fonte falharia de outra forma com -EEXIST. A entrada (S, G) torna-se então a entrada salva por hlist_for_each_entry_safe() e é liberada enquanto a entrada (*, G) está sendo processada. A próxima iteração chama hlist_del() novamente sobre ela, escrevendo LIST_POISON1 em LIST_POISON2 [1].

Além da exclusão de dispositivos, o flush também pode ser alcançado via RTM_DELMDB com NLM_F_BULK.

Correção: re-ler a próxima entrada após os remotos serem limpos. A entrada atual não pode ser removida por este flush, pois as listas de origem só podem ser configuradas em entradas (*, G) e as entradas removidas são entradas (S, G). Portanto, ela ainda está vinculada e seu ponteiro next reflete as remoções.

[1]
BUG: KASAN: wild-memory-access in vxlan_mdb_entry_put.part.0+0x328/0x588 Write of size 8 at addr dead000000000122 by task ip/327

CPU: 3 UID: 1000 PID: 327 Comm: ip Not tainted 7.2.0-rc7 #2 PREEMPT Call trace: vxlan_mdb_entry_put.part.0+0x328/0x588 vxlan_mdb_flush+0x1d8/0x25c vxlan_mdb_fini+0x8c/0x100 vxlan_uninit+0x1c/0x7c unregister_netdevice_many_notify+0x954/0xd4c rtnl_dellink+0x210/0x530 rtnetlink_rcv_msg+0x434/0x4d0 netlink_rcv_skb+0xc4/0x204 rtnetlink_rcv+0x18/0x24 netlink_unicast+0x4b8/0x548 netlink_sendmsg+0x29c/0x560 ____sys_sendmsg+0x390/0x3ec ___sys_sendmsg+0x114/0x188 __sys_sendmsg+0xf0/0x178 __arm64_sys_sendmsg+0x48/0x60 invoke_syscall.constprop.0+0x58/0x180 el0_svc_common.constprop.0+0x74/0x140 do_el0_svc+0x30/0x40 el0_svc+0x38/0x98 el0t_64_sync_handler+0xa0/0xe4 el0t_64_sync+0x198/0x19c

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

Responsável

Linux

Reservar

17/09/2026

Divulgação

24/09/2026

Moderação

aceite

Entrada

VDB-409461

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Want to know what is going to be exploited?

We predict KEV entries!