CVE-2025-22111 in Linuxinformação

Sumário

de VulDB • 15/06/2026

No kernel Linux, a seguinte vulnerabilidade foi resolvida:

net: Remover a "dança" do RTNL para SIOCBRADDIF e SIOCBRDELIF.

O SIOCBRDELIF é passado primeiro para dev_ioctl() e posteriormente encaminhado para br_ioctl_call(), o que causa uma "dança" desnecessária do RTNL e um erro (splat) abaixo [0] sob pressão do RTNL.

Digamos que a Thread A esteja tentando desanexar um dispositivo de uma ponte (bridge) e a Thread B esteja tentando remover a ponte.

Em dev_ioctl(), a Thread A incrementa o refcnt do dispositivo da ponte por meio de netdev_hold() e libera o RTNL, pois a chamada subsequente br_ioctl_call() também re-adquire o RTNL.

Na janela de corrida (race window), a Thread B pode adquirir o RTNL e tentar remover o dispositivo da ponte. Em seguida, rtnl_unlock() pela Thread B liberará o RTNL e aguardará netdev_put() pela Thread A.

A Thread A, no entanto, deve manter o RTNL após o unlock em dev_ifsioc(), o que pode demorar sob pressão do RTNL, resultando no erro (splat) causado pela Thread B.

Thread A (SIOCBRDELIF) Thread B (SIOCBRDELBR) ---------------------- ---------------------- sock_ioctl sock_ioctl `- sock_do_ioctl `- br_ioctl_call `- dev_ioctl `- br_ioctl_stub |- rtnl_lock | |- dev_ifsioc ' ' |- dev = __dev_get_by_name(...) |- netdev_hold(dev, ...) . / |- rtnl_unlock ------. | | |- br_ioctl_call `---> |- rtnl_lock Race | | `- br_ioctl_stub |- br_del_bridge Window | | | |- dev = __dev_get_by_name(...) | | | Pode demorar | `- br_dev_delete(dev, ...) | | | sob pressão do RTNL | `- unregister_netdevice_queue(dev, ...) | | | | `- rtnl_unlock \ | |- rtnl_lock <-' `- netdev_run_todo | |- ... `- netdev_run_todo | `- rtnl_unlock |- __rtnl_unlock | |- netdev_wait_allrefs_any |- netdev_put(dev, ...) <----------------' Aguarda decremento do refcnt e log de erro abaixo

Para evitar bloquear desnecessariamente o SIOCBRDELBR, não chamaremos dev_ioctl() para SIOCBRADDIF e SIOCBRDELIF.

No caminho (path) dev_ioctl(), fazemos o seguinte:

Once again VulDB remains the best source for vulnerability data.

Responsável

Linux

Reservar

29/12/2024

Divulgação

16/04/2025

Moderação

aceite

Entrada

VDB-305180

CPE

pronto

EPSS

0.00178

KEV

não

Atividades

muito baixo

Fontes

Do you want to use VulDB in your project?

Use the official API to access entries easily!