tipc: destroy topsrv workqueues before closing connections
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 5 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
The tipc_topsrv_stop() function in the Linux kernel's TIPC topology server closed subscriber connections while the send and receive workqueues were still running, so socket callbacks and subscription events could queue more work. The resulting race caused a refcount_t addition on 0 in conn_get(), a use-after-free in tipc_conn_close(), queue_work() on an already destroyed workqueue, and an RCU stall in tipc_topsrv_exit_net(). The CVSS 3.1 base score is 7.8 (HIGH) with vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. CISA has not added it to KEV, and Red Hat rates it Moderate.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
Description from the CNA
In the Linux kernel, the following vulnerability has been resolved: tipc: destroy topsrv workqueues before closing connections tipc_topsrv_stop() closed subscriber connections while the topology server's send and receive workqueues were still running. Socket callbacks and subscription events could then queue more work, and in-flight send/recv work could drop the last connection reference during the conn_idr walk. That race produced several teardown failures: refcount_t addition on 0 from conn_get() on a connection whose release was blocked on idr_lock, a subsequent use-after-free in tipc_conn_close(), queue_work() on an already destroyed workqueue from the listener data-ready callback, and an RCU stall in tipc_topsrv_exit_net() while the walk spun under idr_lock. Clear srv->listener under idr_lock so it acts as a shutdown flag, skip queue_work() once it is NULL, destroy the workqueues to flush in-flight work, and only then close the remaining connections. Refuse tipc_conn_lookup() after that flag is cleared, and drop idr_lock when the teardown walk finds no connection, so an in-flight subscription event cannot pin idr_in_use while the walk holds the lock. v3 supersedes the narrower in-thread diff Tung Quang Nguyen posted on 2026-09-23. It keeps his teardown order and adds the lookup refusal and the empty-idr unlock.
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.11 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.11 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
Update 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 has no fix plan for Red Hat Enterprise Linux 8, 9 and 10 or for Red Hat OpenShift Container Platform 4 and 5.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
- 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 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 |
Not affected: 2 products
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
Timeline
- 2026-10-23 Threatist record created from CVE-2026-99054
- 2026-10-23 Alias added: GHSA-qw7p-7wvc-p5q5
- 2026-10-24 CVSS score added · CNA
- 2026-10-24 Priority changed: LOW → MEDIUM
- 2026-10-24 Priority changed: MEDIUM → LOW
- 2026-10-27 Affected versions changed · Red Hat
- 2026-10-27 CVSS score added · Red Hat
- 2026-10-30 Fix available: Linux/Linux@09dbd610f78aaed65d7b379c270ce4090a8151ac, Linux/Linux@21622e5ae8b232c2e64eb1adf5546cf078d2987d, Linux/[email protected] +3 · CNA
- 2026-10-30 3 new references · CNA
- 2026-10-30 Affected versions changed · Red Hat
References
Other 8
- https://git.kernel.org/stable/c/09dbd610f78aaed65d7b379c270ce4090a8151ac
- https://git.kernel.org/stable/c/21622e5ae8b232c2e64eb1adf5546cf078d2987d
- https://git.kernel.org/stable/c/7167afaaaee37191f8b6afa0c91e0fef41460705
- https://git.kernel.org/stable/c/7f796bb3b440d7f1b14c0e3b520462eb34f553af
- https://git.kernel.org/stable/c/da9c16568bc79140a54c1f5fcf07a0305df47b37
- https://git.kernel.org/stable/c/0af8780bdfdfc91fb9127bddb9c48fab67dc9d9e
- https://git.kernel.org/stable/c/fb717c536af2aafeca520ff11d1e0f25f7ab8fa9
- https://git.kernel.org/stable/c/3acdd44385bc7e2e57605e073691ce69cc5a960d
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-99054 · CVE Program
- CVE-2026-99054 · NVD
- FIRST EPSS
- GHSA-qw7p-7wvc-p5q5 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-99054 · 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