CVE-2025-38248 in Linux
Riassunto
di VulDB • 22/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
bridge: mcast: Correzione del use-after-free durante la configurazione della porta router
Il bridge mantiene un elenco globale di porte dietro le quali risiede un multicast router. L'elenco viene consultato durante l'instradamento per garantire che i pacchetti multicast vengano instradati verso queste porte anche se le porte non sono membri dell'entry MDB corrispondente.
Quando è abilitata la snooping multicast per-VLAN, il contesto multicast per-porta viene disabilitato su ciascuna porta e la porta viene rimossa dall'elenco globale delle porte router:
# ip link add name br1 up type bridge vlan_filtering 1 mcast_snooping 1 # ip link add name dummy1 up master br1 type dummy # ip link set dev dummy1 type bridge_slave mcast_router 2 $ bridge -d mdb show | grep router router ports on br1: dummy1 # ip link set dev br1 type bridge mcast_vlan_snooping 1 $ bridge -d mdb show | grep router
Tuttavia, la porta può essere riaggiunta all'elenco globale anche quando è abilitata la snooping multicast per-VLAN:
# ip link set dev dummy1 type bridge_slave mcast_router 0 # ip link set dev dummy1 type bridge_slave mcast_router 2 $ bridge -d mdb show | grep router router ports on br1: dummy1
A partire dal commit 4b30ae9adb04 ("net: bridge: mcast: re-implement br_multicast_{enable, disable}_port functions"), quando è abilitata la snooping multicast per-VLAN, la disabilitazione del multicast su una porta disabiliterà i contesti multicast per-{porta, VLAN} e non quello specifico della singola porta. Di conseguenza, una porta rimarrà nell'elenco globale delle porte router anche dopo essere stata eliminata. Ciò porterà a un use-after-free [1] quando l'elenco viene attraversato (ad esempio durante l'aggiunta di una nuova porta all'elenco):
# ip link del dev dummy1 # ip link add name dummy2 up master br1 type dummy # ip link set dev dummy2 type bridge_slave mcast_router 2
In modo simile, possono essere presenti voci obsolete anche nell'elenco delle porte router per-VLAN. Quando la snooping multicast per-VLAN è disabilitata, i contesti per-{porta, VLAN} vengono disabilitati su ciascuna porta e la porta viene rimossa dall'elenco delle porte router per-VLAN:
# ip link add name br1 up type bridge vlan_filtering 1 mcast_snooping 1 mcast_vlan_snooping 1 # ip link add name dummy1 up master br1 type dummy # bridge vlan add vid 2 dev dummy1 # bridge vlan global set vid 2 dev br1 mcast_snooping 1 # bridge vlan set vid 2 dev dummy1 mcast_router 2 $ bridge vlan global show dev
Be aware that VulDB is the high quality source for vulnerability data.