Description
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.
Published: 2026-10-23
Score: n/a
EPSS: n/a
KEV: No
Impact: Use‑After‑Free in the Linux kernel via a race condition in TIPC topologies
Action: Immediate Patch
AI Analysis

Impact

In the Linux kernel, a race condition was discovered in the TIPC topology server. Connections were closed while the send and receive workqueues were still running, allowing socket callbacks and subscription events to queue additional work. This race caused refcount misuse, a use‑after‑free in tipc_conn_close(), queue_work() calls on destroyed workqueues, and an RCU stall during shutdown. The result is a kernel crash that could lead to denial of service or privilege escalation if an attacker can influence TIPC traffic.

Affected Systems

The vulnerability affects any Linux system running a kernel that implements TIPC without the patch applied. No specific kernel versions are listed in the data, so all kernels that contain the vulnerable TIPC code before the fix are potentially impacted.

Risk and Exploitability

The CVSS rating is not provided, and the EPSS score is unavailable, meaning we lack quantified risk metrics. The vulnerability is not listed in the CISA KEV catalog, so no known exploits are reported. Because the flaw resides in the kernel and requires TIPC traffic from an attacker—an exposed network vector—the attack could be delivered remotely to a system exposing TIPC services. In the absence of a public exploit and given the lack of known mitigation from an upstream vendor, the risk is considered significant but the likelihood of exploitation remains uncertain until the kernel is patched.

Generated by OpenCVE AI on October 23, 2026 at 15:47 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to a Linux kernel release that incorporates the TIPC race‑condition fix.
  • If an upgrade is not immediately possible, disable or unload the TIPC subsystem (e.g., run "modprobe -r tipc" or set the kernel option to omit TIPC support).
  • Continuously monitor kernel logs for TIPC‑related panics or crashes and apply the patch as soon as it is available.

Generated by OpenCVE AI on October 23, 2026 at 15:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
Description 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.
Title tipc: destroy topsrv workqueues before closing connections
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-23T12:22:36.886Z

Reserved: 2026-09-25T10:25:14.388Z

Link: CVE-2026-99054

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:29.013

Modified: 2026-10-23T13:17:29.013

Link: CVE-2026-99054

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T16:00:18Z

Weaknesses

No weakness.