Soft lockup in Linux kernel openvswitch netlink flow dump
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Partial Red Hat: 7 without a fix
No CVSS vector from any source. Fix status from CNA and Red Hat.
Summary
The Linux kernel openvswitch module is affected from 3.16 onward. In ovs_flow_cmd_dump(), the stats lock is released with spin_unlock_bh() once per CPU for every flow, so each release runs queued softirq work in the dumping thread. On a busy CPU, that thread can hold the CPU in a soft lockup that panics the system during a flow dump. The fix holds bottom halves disabled across the whole callback.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
In the Linux kernel, the following vulnerability has been resolved: openvswitch: fix soft lockup in the netlink flow dump A production compute node carrying a few thousand datapath flows hit a soft lockup inside a single netlink flow dump and panicked. ovs_flow_cmd_dump() calls ovs_flow_stats_get() for every flow it emits, and that releases stats->lock with spin_unlock_bh() once per CPU that has touched the flow. Every release is a local_bh_enable(), and each one runs the pending softirq backlog in the dumping thread's own context. The skb bounds the flows one callback emits, but not the softirq work it absorbs. On a CPU that carries the box's packet load the backlog refills as fast as it drains, so the dumping thread becomes that CPU's softirq engine. It never sleeps and it has no reschedule point, so under voluntary preemption nothing can take the CPU away from it: neither the ksoftirqd the kernel woke to take the work over, nor the stopper thread the softlockup detector dispatches to refresh its timestamp. Hold BH off across the whole callback instead, the way ctnetlink_dump_table() does, so the nested spin_unlock_bh() stop draining softirqs. The loop already runs under rcu_read_lock() and cannot sleep. What it gives up is preemption under CONFIG_PREEMPT, since a BH-off region is not preemptible outside PREEMPT_RT. The region stays short: the skb caps the flows one callback emits, and empty buckets cost no skb space but are each visited once per dump, as the cursor only moves forward. The table grows on insert and shrinks only on flush, so the walk is bounded by the largest flow count the datapath has held. The softirq backlog the callback used to absorb has no bound at all.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 3.16 and later | 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.57, 7.2.11, 7.3 | Patch available | CNA |
- Linux VendorLinux Affected 3.16 and later Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.57, 7.2.11, 7.3 Patch available CNA
Remediation
Upgrade the Linux kernel to 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.57, 7.2.11 or 7.3. Red Hat Enterprise Linux 6 has no fix planned. Red Hat Enterprise Linux 7, 8, 9 and 10 and Red Hat OpenShift Container Platform 4 and 5 have no fix available yet.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.57, 7.2.11, 7.3
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 8 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-23 Threatist record created from CVE-2026-99025
- 2026-10-23 Alias added: GHSA-25wv-6mrm-3cpw
- 2026-10-29 Affected versions changed · Red Hat
- 2026-10-29 CVSS score added · Red Hat
- 2026-10-30 Fix available: Linux/[email protected], Linux/[email protected], Linux/Linux@5b6a8bbdcdd7d0fddee466c1c7fe5b7f30aa392c +3 · CNA
- 2026-10-30 3 new references · CNA
- 2026-11-06 Affected versions changed · Red Hat
References
Other 8
- https://git.kernel.org/stable/c/ef77dd59cb7b7b0ac0bedd3fe9ee7a8acd8a58f2
- https://git.kernel.org/stable/c/9ffb9897b39037a688ae01d0b3aea4ccce27dd75
- https://git.kernel.org/stable/c/5b6a8bbdcdd7d0fddee466c1c7fe5b7f30aa392c
- https://git.kernel.org/stable/c/c995c52eba1926a5e82823fa5573a6f1b1010e5d
- https://git.kernel.org/stable/c/b872de585edff534056c65ba30970b68499fca14
- https://git.kernel.org/stable/c/55f12552b00a34ca7ab5cf2d2b5ed02f8f06a965
- https://git.kernel.org/stable/c/80db24f3c16fdeef85460d9d66a4aae7a9cb92b4
- https://git.kernel.org/stable/c/aaaaf87ea99b8766c9a8aa0e71aa42e6bc8a5320
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-99025 · CVE Program
- CVE-2026-99025 · NVD
- FIRST EPSS
- GHSA-25wv-6mrm-3cpw · GitHub Advisory Database · CC BY 4.0
- CVE-2026-99025 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences