CVE-2025-39773: net: bridge: fix soft lockup in br_multicast_query_expired()
In the Linux kernel, the following vulnerability has been resolved:
net: bridge: fix soft lockup in brmulticastqueryexpired()
When set multicastqueryinterval to a large value, the local variable 'time' in brmulticastsendquery() may overflow. If the time is smaller than jiffies, the timer will expire immediately, and then call modtimer() again, which creates a loop and may trigger the following soft lockup issue.
watchdog: BUG: soft lockup - CPU#1 stuck for 221s! [rbconsumer:66] CPU: 1 UID: 0 PID: 66 Comm: rbconsumer Not tainted 6.16.0+ #259 PREEMPT(none) Call Trace: <IRQ> netdevallocskb+0x2e/0x3a0 brip6multicastallocquery+0x212/0x1b70 brmulticastsendquery+0x376/0xac0 brmulticastsendquery+0x299/0x510 brmulticastqueryexpired.constprop.0+0x16d/0x1b0 calltimerfn+0x3b/0x2a0 runtimers+0x619/0x950 runtimersoftirq+0x11c/0x220 handlesoftirqs+0x18e/0x560 irqexitrcu+0x158/0x1a0 sysvecapictimerinterrupt+0x76/0x90 </IRQ>
This issue can be reproduced with: ip link add br0 type bridge echo 1 > /sys/class/net/br0/bridge/multicastquerier echo 0xffffffffffffffff > /sys/class/net/br0/bridge/multicastqueryinterval ip link set dev br0 up
The multicaststartupqueryinterval can also cause this issue. Similar to the commit 99b40610956a ("net: bridge: mcast: add and enforce query interval minimum"), add check for the query interval maximum to fix this issue.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Set br0's /sys/class/net/br0/bridge/multicast_query_interval to a safe value within the enforced maximum so that the timer interval does not overflow/underflow and trigger immediate expiration/soft lockup.
Linux bridge (sysfs) br0 multicast_query_interval = enforce query interval maximum (do not allow values that cause time/jiffies underflow/overflow; avoid very large values such as 0xffffffffffffffff)
Event History
Frequently Asked Questions
What is the severity of CVE-2025-39773?
CVE-2025-39773 is considered a medium severity vulnerability due to potential local disruption in the Linux kernel.
How do I fix CVE-2025-39773?
To fix CVE-2025-39773, update your Linux kernel to a version that includes the patch for this vulnerability.
What does CVE-2025-39773 affect?
CVE-2025-39773 affects the Linux kernel version 6.16.0 and later implementations that use the bridge multicast query features.
What are the potential consequences of CVE-2025-39773?
The potential consequences of CVE-2025-39773 include a local system lockup when handling multicast queries under specific conditions.
In which Linux kernel functions does CVE-2025-39773 manifest?
CVE-2025-39773 manifests in the br_multicast_query_expired() and br_multicast_send_query() functions within the kernel networking code.