CVE-2026-64032: bridge: mcast: Fix a possible use-after-free when removing a bridge port

Published Jul 19, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

bridge: mcast: Fix a possible use-after-free when removing a bridge port

When per-VLAN multicast snooping is enabled, the bridge iterates over all the bridge ports, disables the per-port multicast context on each port and enables the per-{port, VLAN} multicast contexts instead. The reverse happens when per-VLAN multicast snooping is disabled.

When global multicast snooping is enabled, the bridge iterates over all the bridge ports and enables the per-port multicast context on each port. The reverse happens when multicast snooping is disabled.

The above scheme can result in a situation where both types of contexts (per-port and per-{port, VLAN}) are enabled on a single bridge port:

# ip link add name br1 up type bridge mcastsnooping 1 mcastquerier 1 vlanfiltering 1 # ip link add name dummy1 up master br1 type dummy # ip link set dev br1 type bridge mcastvlansnooping 1 # ip link set dev br1 type bridge mcastsnooping 0 # ip link set dev br1 type bridge mcastsnooping 1

This is not intended and it is a problem since the commit cited below. Prior to this commit, when removing a bridge port, brmulticastdisableport() would disable the per-port multicast context and the per-{port, VLAN} multicast contexts would get disabled when flushing VLANs.

After this commit, brmulticastdisableport() only disables the per-port multicast context if per-VLAN multicast snooping is disabled. If both types of contexts were enabled on the port when it was removed, the per-port multicast context would remain enabled when freeing the bridge port, leading to a use-after-free [1].

Fix by preventing the bridge from enabling / disabling the per-port multicast contexts when toggling global multicast snooping if per-VLAN multicast snooping is enabled.

[1] ODEBUG: free active (active state 0) object: ffff88810f8bda78 object type: timerlist hint: brip6multicastportqueryexpired (net/bridge/brmulticast.c:1927) WARNING: lib/debugobjects.c:629 at debugprintobject+0x1b1/0x3e0, CPU#5: swapper/5/0 [...] Call Trace: <IRQ> debugchecknoobjfreed (lib/debugobjects.c:1116) kfree (mm/slub.c:2620 mm/slub.c:6250 mm/slub.c:6565) kobjectcleanup (lib/kobject.c:689) rcudobatch (kernel/rcu/tree.c:2617) rcucore (kernel/rcu/tree.c:2869) handlesoftirqs (kernel/softirq.c:622) irqexitrcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) irqexitrcu (kernel/softirq.c:752) sysvecapictimerinterrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 47) arch/x86/kernel/apic/apic.c:1061 (discriminator 47)) </IRQ>

Affected Software

11 affected components
Linux Kernel
Linux Linux kernel>=5.15.186<5.15.209
Linux Linux kernel>=6.1.142<6.1.175
Linux Linux kernel>=6.6.95<6.6.142
Linux Linux kernel>=6.12.35<6.12.92
Linux Linux kernel>=6.15.4<6.18.34
Linux Linux kernel>=6.19<7.0.11
Linux Linux kernel=7.1-rc1
Linux Linux kernel=7.1-rc2
Linux Linux kernel=7.1-rc3
Linux Linux kernel=7.1-rc4

Event History

Jul 19, 2026
CVE Published
via MITRE·03:39 PM
Data Sourced
via MITRE·03:39 PM
DescriptionSeverity
Data Sourced
via NVD·04:17 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-64032?

The severity of CVE-2026-64032 is rated at risk level 51.

2

How do I fix CVE-2026-64032?

To fix CVE-2026-64032, update your Linux kernel to the latest patched version.

3

What type of vulnerability is CVE-2026-64032?

CVE-2026-64032 is categorized as a Use After Free vulnerability.

4

What impact does CVE-2026-64032 have?

CVE-2026-64032 can cause potential instability or crashes in the Linux kernel when removing a bridge port.

5

When was CVE-2026-64032 published?

CVE-2026-64032 was published on July 19, 2026.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203