In the Linux kernel, the following vulnerability has been resolved:
bridge: mcast: Fix use-after-free during router port configuration
The bridge maintains a global list of ports behind which a multicast router resides. The list is consulted during forwarding to ensure multicast packets are forwarded to these ports even if the ports are not member in the matching MDB entry.
When per-VLAN multicast snooping is enabled, the per-port multicast context is disabled on each port and the port is removed from the global router port list:
# 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
However, the port can be re-added to the global list even when per-VLAN multicast snooping is enabled:
# 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
Since commit 4b30ae9adb04 ("net: bridge: mcast: re-implement br_multicast_{enable, disable}_port functions"), when per-VLAN multicast snooping is enabled, multicast disablement on a port will disable the per-{port, VLAN} multicast contexts and not the per-port one. As a result, a port will remain in the global router port list even after it is deleted. This will lead to a use-after-free [1] when the list is traversed (when adding a new port to the list, for example):
# 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
Similarly, stale entries can also be found in the per-VLAN router port list. When per-VLAN multicast snooping is disabled, the per-{port, VLAN} contexts are disabled on each port and the port is removed from the per-VLAN router port list:
# 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 br1 vid 2 | grep router router ports: dummy1 # ip link set dev br1 type bridge mcast_vlan_snooping 0 $ bridge vlan global show dev br1 vid 2 | grep router
However, the port can be re-added to the per-VLAN list even when per-VLAN multicast snooping is disabled:
# bridge vlan set vid 2 dev dummy1 mcast_router 0 # bridge vlan set vid 2 dev dummy1 mcast_router 2 $ bridge vlan global show dev br1 vid 2 | grep router router ports: dummy1
When the VLAN is deleted from the port, the per-{port, VLAN} multicast context will not be disabled since multicast snooping is not enabled on the VLAN. As a result, the port will remain in the per-VLAN router port list even after it is no longer member in the VLAN. This will lead to a use-after-free [2] when the list is traversed (when adding a new port to the list, for example):
# ip link add name dummy2 up master br1 type dummy # bridge vlan add vid 2 dev dummy2 # bridge vlan del vid 2 dev dummy1 # bridge vlan set vid 2 dev dummy2 mcast_router 2
Fix these issues by removing the port from the relevant (global or per-VLAN) router port list in br_multicast_port_ctx_deinit(). The function is invoked during port deletion with the per-port multicast context and during VLAN deletion with the per-{port, VLAN} multicast context.
Note that deleting the multicast router timer is not enough as it only takes care of the temporary multicast router states (1 or 3) and not the permanent one (2).
[1] BUG: KASAN: slab-out-of-bounds in br_multicast_add_router.part.0+0x3f1/0x560 Write of size 8 at addr ffff888004a67328 by task ip/384 [...] Call Trace: <TASK> dump_stack ---truncated---
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-zfcpdump-modulesUpgrade kernel-tools-libsUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debug-coreUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-rt-coreUpgrade kernel-tools-libs-develUpgrade kernel-rt-develUpgrade kernel-debug-modules-extraUpgrade kernel-cross-headersUpgrade kernel-rt-debugUpgrade kernel-debug-modulesUpgrade bpftoolUpgrade kernel-debug-develUpgrade python3-perfUpgrade kernel-modulesUpgrade kernel-rt-debug-develUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-zfcpdumpUpgrade kernel-debugUpgrade kernel-zfcpdump-develUpgrade kernel-rt-modulesUpgrade kernel-develUpgrade kernel-modules-extraUpgrade kernel-rt-debug-modulesUpgrade perfUpgrade kernel-coreUpgrade kernel-headersUpgrade kernel-docUpgrade kernel-rt-debug-modules-extraUpgrade kernel-toolsUpgrade kernel-zfcpdump-coreUpgrade kernel-rtUpgrade kernel-debug-core | Feb 25, 2026 | Feb 23, 2026 |
| Amazon Linux Ami 2 | — | Upgrade kernel-headersUpgrade kernel-debuginfoUpgrade kernel-livepatch-5.15.189-131.211Upgrade python-perfUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade perf-debuginfoUpgrade perfUpgrade kernel-tools-debuginfoUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel-tools-develUpgrade kernelUpgrade kernel-develUpgrade python-perf-debuginfoUpgrade kernel-debuginfo-common-x86_64 | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel-livepatch-6.1.147-172.266Upgrade kernel-livepatch-6.12.40-63.114Upgrade kernel6.12Upgrade kernel6.12-toolsUpgrade kernel6.12-modules-extra-commonUpgrade kernel-livepatch-6.12.48-67.114Upgrade kernel-tools-develUpgrade kernel6.12-modules-extraUpgrade kernel6.12-libbpf-debuginfoUpgrade perfUpgrade python3-perf6.12-debuginfoUpgrade bpftool6.12Upgrade kernel6.12-tools-debuginfoUpgrade kernel-headersUpgrade python3-perfUpgrade kernel-libbpf-debuginfoUpgrade kernel6.12-libbpf-develUpgrade kernel6.12-libbpfUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel-debuginfo-common-aarch64Upgrade kernel6.12-libbpf-staticUpgrade perf-debuginfoUpgrade perf6.12-debuginfoUpgrade kernel-modules-extra-commonUpgrade bpftool6.12-debuginfoUpgrade kernel-libbpfUpgrade perf6.12Upgrade bpftoolUpgrade kernel6.12-tools-develUpgrade kernel-debuginfoUpgrade kernel6.12-debuginfoUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-develUpgrade python3-perf6.12Upgrade kernel6.12-headersUpgrade kernel-develUpgrade kernel-libbpf-develUpgrade kernel-libbpf-staticUpgrade kernel-modules-extraUpgrade kernelUpgrade python3-perf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade bpftool-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-tools | Sep 9, 2025 | Jul 9, 2025 |
| Debian | — | Upgrade linux | Jul 10, 2025 | Jul 10, 2025 |
| Oracle_linux | — | Upgrade kernel-uekUpgrade kernel | Feb 26, 2026 | Jul 9, 2025 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | Jul 10, 2025 | Jul 9, 2025 |
| Suse | — | Upgrade kernel-64kbUpgrade kernel-64kb-develUpgrade reiserfs-kmp-azureUpgrade dtb-exynosUpgrade kernel-develUpgrade dtb-broadcomUpgrade dtb-lgUpgrade kernel-azureUpgrade dtb-allwinnerUpgrade kernel-default-base-rebuildUpgrade reiserfs-kmp-64kbUpgrade kernel-rt-optionalUpgrade dtb-caviumUpgrade kernel-default-develUpgrade cluster-md-kmp-rtUpgrade kernel-obs-qaUpgrade kernel-zfcpdumpUpgrade ocfs2-kmp-rtUpgrade dtb-alteraUpgrade kernel-default-extraUpgrade ocfs2-kmp-defaultUpgrade kernel-kvmsmallUpgrade kernel-rt_debug-develUpgrade kernel-source-rtUpgrade kernel-devel-rtUpgrade kernel-sourceUpgrade kernel-source-vanillaUpgrade gfs2-kmp-azureUpgrade gfs2-kmp-rtUpgrade kernel-kvmsmall-develUpgrade kernel-symsUpgrade gfs2-kmp-64kbUpgrade dtb-amazonUpgrade kernel-devel-azureUpgrade dtb-apmUpgrade kernel-syms-azureUpgrade ocfs2-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade kernel-azure-develUpgrade kernel-default-livepatchUpgrade dlm-kmp-64kbUpgrade kernel-64kb-optionalUpgrade kernel-default-vdsoUpgrade kernel-rtUpgrade kselftests-kmp-64kbUpgrade kernel-default-optionalUpgrade dtb-freescaleUpgrade kernel-macrosUpgrade dtb-xilinxUpgrade kernel-source-azureUpgrade kselftests-kmp-azureUpgrade kernel-rt-develUpgrade dtb-qcomUpgrade kernel-azure-optionalUpgrade kernel-rt_debugUpgrade reiserfs-kmp-rtUpgrade kernel-rt-livepatch-develUpgrade dtb-marvellUpgrade kernel-docs-htmlUpgrade kernel-rt-extraUpgrade kernel-syms-rtUpgrade kernel-default-baseUpgrade kernel-debug-vdsoUpgrade dtb-sprdUpgrade dtb-hisiliconUpgrade dtb-amdUpgrade kselftests-kmp-rtUpgrade kselftests-kmp-defaultUpgrade kernel-docsUpgrade kernel-debug-develUpgrade dtb-rockchipUpgrade kernel-obs-buildUpgrade kernel-debugUpgrade kernel-azure-vdsoUpgrade kernel-64kb-extraUpgrade cluster-md-kmp-defaultUpgrade cluster-md-kmp-64kbUpgrade dtb-appleUpgrade dtb-amlogicUpgrade dlm-kmp-defaultUpgrade kernel-defaultUpgrade dlm-kmp-azureUpgrade dtb-armUpgrade dlm-kmp-rtUpgrade ocfs2-kmp-azureUpgrade reiserfs-kmp-defaultUpgrade gfs2-kmp-defaultUpgrade kernel-azure-extraUpgrade dtb-nvidiaUpgrade kernel-rt-vdsoUpgrade kernel-rt_debug-vdsoUpgrade kernel-kvmsmall-vdsoUpgrade dtb-mediatekUpgrade kernel-default-livepatch-develUpgrade dtb-renesasUpgrade dtb-socionext | Dec 5, 2025 | Aug 18, 2025 |
| Ubuntu | — | Upgrade linux-image-6.14.0-1015-awsUpgrade linux-image-oracleUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-generic-5.15Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.14.0-34-genericUpgrade linux-image-virtualUpgrade linux-image-generic-6.8Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-realtimeUpgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-aws-5.15Upgrade linux-image-generic-64k-6.14Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-realtime-6.14Upgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-oracle-6.8Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-5.15.0-1100-aws-fipsUpgrade linux-image-oracle-6.14Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-gkeUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-5.15.0-1110-azureUpgrade linux-image-oem-22.04dUpgrade linux-image-raspi-nolpaeUpgrade linux-image-aws-fips-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-azure-nvidia-6.14Upgrade linux-image-5.15.0-1097-oracleUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-fips-5.15Upgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-20.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-6.14.0-1014-azureUpgrade linux-image-5.15.0-1100-awsUpgrade linux-image-oem-6.14Upgrade linux-image-5.15.0-1092-intel-iot-realtimeUpgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-5.15.0-1064-xilinx-zynqmpUpgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-aws-64k-5.15Upgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-generic-64k-6.8Upgrade linux-image-oem-20.04dUpgrade linux-image-5.15.0-1100-gcp-fipsUpgrade linux-image-aws-fipsUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-5.15.0-170-generic-64kUpgrade linux-image-azure-fipsUpgrade linux-image-oem-24.04cUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-gkeop-5.15Upgrade linux-image-fips-6.8Upgrade linux-image-5.15.0-170-genericUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-kvmUpgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-5.15.0-1100-gcpUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-5.15.0-1092-kvmUpgrade linux-image-awsUpgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-azure-cvmUpgrade linux-image-6.14.0-1015-oracleUpgrade linux-image-azure-fips-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-gcp-5.15Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-aws-64k-6.14Upgrade linux-image-aws-6.14Upgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-6.8.0-100-fipsUpgrade linux-image-6.14.0-1016-raspiUpgrade linux-image-virtual-5.15Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-nvidia-6.8Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-gcp-6.8Upgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-5.15.0-1099-realtimeUpgrade linux-image-5.15.0-1097-raspiUpgrade linux-image-ibm-classicUpgrade linux-image-gcp-6.14Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-gcpUpgrade linux-image-ibm-6.8Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-6.8.0-1051-azureUpgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-6.8.0-1046-awsUpgrade linux-image-kvm-5.15Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-azure-6.14Upgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-6.14.0-1015-oracle-64kUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-5.15.0-170-lowlatency-64kUpgrade linux-image-realtime-5.15Upgrade linux-image-ibm-5.15Upgrade linux-image-lowlatency-5.15Upgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-oracle-64k-6.14 | Jul 14, 2025 | Jul 9, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Feb 9, 2026 | Jul 9, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub