---
id: CVE-2025-39773
title: 'net: bridge: fix soft lockup in br_multicast_query_expired()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: bridge: fix soft lockup in br_multicast_query_expired()

  When set multicast_query_interval to a large value, the local variable
  'time' in br_multicast_send_query()…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= d902eee43f1951b358d7347d9165c6af21cf7b1b <
    34171b9e53bd1dc264f5556579f2b04f04435c73
  - >-
    Linux >= d902eee43f1951b358d7347d9165c6af21cf7b1b <
    43e281fde5e76a866a4d10780c35023f16c0e432
  - >-
    Linux >= d902eee43f1951b358d7347d9165c6af21cf7b1b <
    96476b043efb86a94f2badd260f7f99c97bd5893
  - >-
    Linux >= d902eee43f1951b358d7347d9165c6af21cf7b1b <
    bdb19cd0de739870bb3494c815138b9dc30875c4
  - >-
    Linux >= d902eee43f1951b358d7347d9165c6af21cf7b1b <
    5bf5fce8a0c2a70d063af778fdb5b27238174cdd
  - >-
    Linux >= d902eee43f1951b358d7347d9165c6af21cf7b1b <
    d1547bf460baec718b3398365f8de33d25c5f36f
  - Linux 2.6.34
published: '2025-09-11'
updated: '2026-09-08'
sourceUpdated: '2026-09-08T08:42:17.113Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-39773'
references:
  - url: 'https://git.kernel.org/stable/c/34171b9e53bd1dc264f5556579f2b04f04435c73'
  - url: 'https://git.kernel.org/stable/c/43e281fde5e76a866a4d10780c35023f16c0e432'
  - url: 'https://git.kernel.org/stable/c/96476b043efb86a94f2badd260f7f99c97bd5893'
  - url: 'https://git.kernel.org/stable/c/bdb19cd0de739870bb3494c815138b9dc30875c4'
  - url: 'https://git.kernel.org/stable/c/5bf5fce8a0c2a70d063af778fdb5b27238174cdd'
  - url: 'https://git.kernel.org/stable/c/d1547bf460baec718b3398365f8de33d25c5f36f'
tags:
  - cve.org
epss: 0.0012
epssPercentile: 0.02056
ingestedAt: '2026-09-08T15:33:26.997Z'
---

## Overview

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

net: bridge: fix soft lockup in br_multicast_query_expired()

When set multicast_query_interval to a large value, the local variable
'time' in br_multicast_send_query() may overflow. If the time is smaller
than jiffies, the timer will expire immediately, and then call mod_timer()
again, which creates a loop and may trigger the following soft lockup
issue.

  watchdog: BUG: soft lockup - CPU#1 stuck for 221s! [rb_consumer:66]
  CPU: 1 UID: 0 PID: 66 Comm: rb_consumer Not tainted 6.16.0+ #259 PREEMPT(none)
  Call Trace:
   <IRQ>
   __netdev_alloc_skb+0x2e/0x3a0
   br_ip6_multicast_alloc_query+0x212/0x1b70
   __br_multicast_send_query+0x376/0xac0
   br_multicast_send_query+0x299/0x510
   br_multicast_query_expired.constprop.0+0x16d/0x1b0
   call_timer_fn+0x3b/0x2a0
   __run_timers+0x619/0x950
   run_timer_softirq+0x11c/0x220
   handle_softirqs+0x18e/0x560
   __irq_exit_rcu+0x158/0x1a0
   sysvec_apic_timer_interrupt+0x76/0x90
   </IRQ>

This issue can be reproduced with:
  ip link add br0 type bridge
  echo 1 > /sys/class/net/br0/bridge/multicast_querier
  echo 0xffffffffffffffff >
  	/sys/class/net/br0/bridge/multicast_query_interval
  ip link set dev br0 up

The multicast_startup_query_interval 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

- `Linux >= d902eee43f1951b358d7347d9165c6af21cf7b1b < 34171b9e53bd1dc264f5556579f2b04f04435c73`
- `Linux >= d902eee43f1951b358d7347d9165c6af21cf7b1b < 43e281fde5e76a866a4d10780c35023f16c0e432`
- `Linux >= d902eee43f1951b358d7347d9165c6af21cf7b1b < 96476b043efb86a94f2badd260f7f99c97bd5893`
- `Linux >= d902eee43f1951b358d7347d9165c6af21cf7b1b < bdb19cd0de739870bb3494c815138b9dc30875c4`
- `Linux >= d902eee43f1951b358d7347d9165c6af21cf7b1b < 5bf5fce8a0c2a70d063af778fdb5b27238174cdd`
- `Linux >= d902eee43f1951b358d7347d9165c6af21cf7b1b < d1547bf460baec718b3398365f8de33d25c5f36f`
- `Linux 2.6.34`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
