p PatchFirst

CVE-2026-99054

CVE-2026-99054 · tipc: destroy topsrv workqueues before closing connections

This page contains facts from public vulnerability sources. Check the original advisory before updating.

This page shows selected source facts. See the linked advisories for the complete description and affected versions.

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.

Fix available

Published
Updated

Stack: system

Affected products and versions

  • linux

    Versions
    • ≥ c5fa7b3cf3cb22e4ac60485fc2dc187fe012910f, < 7f796bb3b440d7f1b14c0e3b520462eb34f553af: Affected (git)
    • ≥ c5fa7b3cf3cb22e4ac60485fc2dc187fe012910f, < da9c16568bc79140a54c1f5fcf07a0305df47b37: Affected (git)
    • ≥ c5fa7b3cf3cb22e4ac60485fc2dc187fe012910f, < 0af8780bdfdfc91fb9127bddb9c48fab67dc9d9e: Affected (git)
    • ≥ c5fa7b3cf3cb22e4ac60485fc2dc187fe012910f, < fb717c536af2aafeca520ff11d1e0f25f7ab8fa9: Affected (git)
    • ≥ c5fa7b3cf3cb22e4ac60485fc2dc187fe012910f, < 3acdd44385bc7e2e57605e073691ce69cc5a960d: Affected (git)

    Update to 7f796bb3b440d7f1b14c0e3b520462eb34f553af

  • linux

    Versions
    • 3.11: Affected
    • ≥ 0, < 3.11: Not affected (semver)
    • ≥ 6.6.160, ≤ 6.6.*: Not affected (semver)
    • ≥ 6.12.113, ≤ 6.12.*: Not affected (semver)
    • ≥ 6.18.57, ≤ 6.18.*: Not affected (semver)
    • ≥ 7.2.11, ≤ 7.2.*: Not affected (semver)
    • ≥ 7.3: Not affected (original_commit_for_fix)

    No fix published

  • linux Debian:12

    Versions
    • 6.1.106-1
    • 6.1.106-2
    • 6.1.106-3
    • 6.1.112-1
    • 6.1.115-1
    • 6.1.119-1
    • 6.1.123-1
    • 6.1.124-1
    • 6.1.128-1
    • 6.1.129-1
    • 6.1.133-1
    • 6.1.135-1
    • 6.1.137-1
    • 6.1.139-1
    • 6.1.140-1
    • 6.1.147-1
    • 6.1.148-1
    • 6.1.153-1
    • 6.1.158-1
    • 6.1.159-1
    • 6.1.162-1
    • 6.1.164-1
    • 6.1.170-1
    • 6.1.170-2
    • 6.1.170-3
    • 6.1.172-1
    • 6.1.174-1
    • 6.1.176-1
    • 6.1.177-1
    • 6.1.180-1
    • 6.1.187-1
    • 6.1.190-1
    • 6.1.27-1
    • 6.1.37-1
    • 6.1.38-1
    • 6.1.38-2
    • 6.1.38-2~bpo11+1
    • 6.1.38-3
    • 6.1.38-4
    • 6.1.38-4~bpo11+1
    • 6.1.52-1
    • 6.1.55-1
    • 6.1.55-1~bpo11+1
    • 6.1.64-1
    • 6.1.66-1
    • 6.1.67-1
    • 6.1.69-1
    • 6.1.69-1~bpo11+1
    • 6.1.76-1
    • 6.1.76-1~bpo11+1
    • 6.1.82-1
    • 6.1.85-1
    • 6.1.90-1
    • 6.1.90-1~bpo11+1
    • 6.1.94-1
    • 6.1.94-1~bpo11+1
    • 6.1.98-1
    • 6.1.99-1
    • 6.10-1~exp1
    • 6.10.1-1~exp1
    • 6.10.11-1
    • 6.10.11-1~bpo12+1
    • 6.10.12-1
    • 6.10.3-1
    • 6.10.4-1
    • 6.10.6-1
    • 6.10.6-1~bpo12+1
    • 6.10.7-1
    • 6.10.9-1
    • 6.11-1~exp1
    • 6.11.10-1
    • 6.11.10-1~bpo12+1
    • 6.11.2-1
    • 6.11.4-1
    • 6.11.5-1
    • 6.11.5-1~bpo12+1
    • 6.11.6-1
    • 6.11.7-1
    • 6.11.9-1
    • 6.11~rc4-1~exp1
    • 6.11~rc5-1~exp1
    • 6.12.10-1
    • 6.12.100-1
    • 6.12.101-1
    • 6.12.105-1
    • 6.12.107-1
    • 6.12.11-1
    • 6.12.11-1+alpha
    • 6.12.11-1+alpha.1
    • 6.12.111-1
    • 6.12.113-1
    • 6.12.12-1
    • 6.12.12-1~bpo12+1
    • 6.12.13-1
    • 6.12.15-1
    • 6.12.16-1
    • 6.12.17-1
    • 6.12.19-1
    • 6.12.20-1
    • 6.12.21-1
    • 6.12.22-1
    • 6.12.22-1~bpo12+1
    • 6.12.25-1
    • 6.12.27-1
    • 6.12.27-1~bpo12+1
    • 6.12.29-1
    • 6.12.3-1
    • 6.12.30-1
    • 6.12.30-1~bpo12+1
    • 6.12.31-1
    • 6.12.32-1
    • 6.12.32-1~bpo12+1
    • 6.12.33-1
    • 6.12.33-1~bpo12+1
    • 6.12.35-1
    • 6.12.35-1~bpo12+1
    • 6.12.37-1
    • 6.12.38-1
    • 6.12.38-1~bpo12+1
    • 6.12.41-1
    • 6.12.43-1
    • 6.12.43-1~bpo12+1
    • 6.12.48-1
    • 6.12.5-1
    • 6.12.57-1
    • 6.12.57-1~bpo12+1
    • 6.12.6-1
    • 6.12.63-1
    • 6.12.63-1~bpo12+1
    • 6.12.69-1
    • 6.12.69-1~bpo12+1
    • 6.12.73-1
    • 6.12.73-1~bpo12+1
    • 6.12.74-1
    • 6.12.74-2
    • 6.12.74-2~bpo12+1
    • 6.12.8-1
    • 6.12.85-1
    • 6.12.85-1~bpo12+1
    • 6.12.86-1
    • 6.12.86-1~bpo12+1
    • 6.12.88-1
    • 6.12.88-1~bpo12+1
    • 6.12.9-1
    • 6.12.9-1+alpha
    • 6.12.9-1~bpo12+1
    • 6.12.90-1
    • 6.12.90-1~bpo12+1
    • 6.12.90-2
    • 6.12.90-2~bpo12+1
    • 6.12.94-1
    • 6.12.94-1~bpo12+1
    • 6.12.95-1
    • 6.12.95-1~bpo12+1
    • 6.12.96-1
    • 6.12~rc6-1~exp1
    • 6.13.10-1~exp1
    • 6.13.11-1~exp1
    • 6.13.2-1~exp1
    • 6.13.3-1~exp1
    • 6.13.4-1~exp1
    • 6.13.5-1~exp1
    • 6.13.6-1~exp1
    • 6.13.7-1~exp1
    • 6.13.8-1~exp1
    • 6.13.9-1~exp1
    • 6.13~rc6-1~exp1
    • 6.13~rc7-1~exp1
    • 6.14.3-1~exp1
    • 6.14.5-1~exp1
    • 6.14.6-1~exp1
    • 6.15-1~exp1
    • 6.15.1-1~exp1
    • 6.15.2-1~exp1
    • 6.15.3-1~exp1
    • 6.15.4-1~exp1
    • 6.15.5-1~exp1
    • 6.15.6-1~exp1
    • 6.15~rc7-1~exp1
    • 6.16-1~exp1
    • 6.16.1-1~exp1
    • 6.16.10-1
    • 6.16.11-1
    • 6.16.12-1
    • 6.16.12-1~bpo13+1
    • 6.16.12-2
    • 6.16.3-1
    • 6.16.3-1~bpo13+1
    • 6.16.5-1
    • 6.16.6-1
    • 6.16.7-1
    • 6.16.8-1
    • 6.16.9-1
    • 6.16~rc7-1~exp1
    • 6.17.10-1
    • 6.17.11-1
    • 6.17.12-1
    • 6.17.13-1
    • 6.17.13-1~bpo13+1
    • 6.17.2-1~exp1
    • 6.17.5-1~exp1
    • 6.17.6-1
    • 6.17.7-1
    • 6.17.7-2
    • 6.17.8-1
    • 6.17.8-1~bpo13+1
    • 6.17.9-1
    • 6.18.1-1~exp1
    • 6.18.10-1
    • 6.18.12-1
    • 6.18.12-1~bpo13+1
    • 6.18.13-1
    • 6.18.14-1
    • 6.18.15-1
    • 6.18.15-1~bpo13+1
    • 6.18.2-1~exp1
    • 6.18.3-1
    • 6.18.5-1
    • 6.18.5-1~bpo13+1
    • 6.18.8-1
    • 6.18.9-1
    • 6.18.9-1~bpo13+1
    • 6.18~rc4-1~exp1
    • 6.18~rc4-1~exp2
    • 6.18~rc5-1~exp1
    • 6.18~rc6-1~exp1
    • 6.18~rc7-1~exp1
    • 6.19-1~exp1
    • 6.19.10-1
    • 6.19.10-1~bpo13+1
    • 6.19.11-1
    • 6.19.11-1~bpo13+1
    • 6.19.12-1
    • 6.19.13-1
    • 6.19.13-1~bpo13+1
    • 6.19.14-1
    • 6.19.14-1~bpo13+1
    • 6.19.2-1~exp1
    • 6.19.3-1~exp1
    • 6.19.4-1~exp1
    • 6.19.5-1~exp1
    • 6.19.6-1
    • 6.19.6-2
    • 6.19.6-2~bpo13+1
    • 6.19.8-1
    • 6.19.8-1~bpo13+1
    • 6.19~rc4-1~exp1
    • 6.19~rc5-1~exp1
    • 6.19~rc6-1~exp1
    • 6.19~rc7-1~exp1
    • 6.19~rc8-1~exp1
    • 6.3.1-1~exp1
    • 6.3.11-1
    • 6.3.2-1~exp1
    • 6.3.4-1~exp1
    • 6.3.5-1~exp1
    • 6.3.7-1
    • 6.3.7-1~bpo12+1
    • 6.4.1-1~exp1
    • 6.4.11-1
    • 6.4.13-1
    • 6.4.4-1
    • 6.4.4-1~bpo12+1
    • 6.4.4-2
    • 6.4.4-3
    • 6.4.4-3~bpo12+1
    • 6.4~rc6-1~exp1
    • 6.4~rc7-1~exp1
    • 6.5.1-1~exp1
    • 6.5.10-1
    • 6.5.10-1~bpo12+1
    • 6.5.13-1
    • 6.5.3-1
    • 6.5.3-1~bpo12+1
    • 6.5.6-1
    • 6.5.8-1
    • 6.5~rc4-1~exp1
    • 6.5~rc6-1~exp1
    • 6.5~rc7-1~exp1
    • 6.6.11-1
    • 6.6.13-1
    • 6.6.13-1~bpo12+1
    • 6.6.15-1
    • 6.6.15-2
    • 6.6.3-1~exp1
    • 6.6.4-1~exp1
    • 6.6.7-1~exp1
    • 6.6.8-1
    • 6.6.9-1
    • 6.7-1~exp1
    • 6.7.1-1~exp1
    • 6.7.12-1
    • 6.7.12-1~bpo12+1
    • 6.7.4-1~exp1
    • 6.7.7-1
    • 6.7.9-1
    • 6.7.9-2
    • 6.8.11-1
    • 6.8.12-1
    • 6.8.12-1~bpo12+1
    • 6.8.9-1
    • 6.9.10-1
    • 6.9.10-1~bpo12+1
    • 6.9.11-1
    • 6.9.12-1
    • 6.9.2-1~exp1
    • 6.9.7-1
    • 6.9.7-1~bpo12+1
    • 6.9.8-1
    • 6.9.9-1
    • 7.0-1~exp1
    • 7.0.1-1~exp1
    • 7.0.10-1

    No fix published

  • linux Debian:13

    Versions
    • 6.12.100-1
    • 6.12.101-1
    • 6.12.105-1
    • 6.12.107-1
    • 6.12.111-1
    • 6.12.38-1
    • 6.12.41-1
    • 6.12.43-1
    • 6.12.43-1~bpo12+1
    • 6.12.48-1
    • 6.12.57-1
    • 6.12.57-1~bpo12+1
    • 6.12.63-1
    • 6.12.63-1~bpo12+1
    • 6.12.69-1
    • 6.12.69-1~bpo12+1
    • 6.12.73-1
    • 6.12.73-1~bpo12+1
    • 6.12.74-1
    • 6.12.74-2
    • 6.12.74-2~bpo12+1
    • 6.12.85-1
    • 6.12.85-1~bpo12+1
    • 6.12.86-1
    • 6.12.86-1~bpo12+1
    • 6.12.88-1
    • 6.12.88-1~bpo12+1
    • 6.12.90-1
    • 6.12.90-1~bpo12+1
    • 6.12.90-2
    • 6.12.90-2~bpo12+1
    • 6.12.94-1
    • 6.12.94-1~bpo12+1
    • 6.12.95-1
    • 6.12.95-1~bpo12+1
    • 6.12.96-1
    Affected ranges
    • ECOSYSTEM: < 6.12.113-1

    Update to 6.12.113-1

  • linux Debian:14

    Versions
    • 6.12.100-1
    • 6.12.101-1
    • 6.12.105-1
    • 6.12.107-1
    • 6.12.111-1
    • 6.12.113-1
    • 6.12.38-1
    • 6.12.41-1
    • 6.12.43-1
    • 6.12.43-1~bpo12+1
    • 6.12.48-1
    • 6.12.57-1
    • 6.12.57-1~bpo12+1
    • 6.12.63-1
    • 6.12.63-1~bpo12+1
    • 6.12.69-1
    • 6.12.69-1~bpo12+1
    • 6.12.73-1
    • 6.12.73-1~bpo12+1
    • 6.12.74-1
    • 6.12.74-2
    • 6.12.74-2~bpo12+1
    • 6.12.85-1
    • 6.12.85-1~bpo12+1
    • 6.12.86-1
    • 6.12.86-1~bpo12+1
    • 6.12.88-1
    • 6.12.88-1~bpo12+1
    • 6.12.90-1
    • 6.12.90-1~bpo12+1
    • 6.12.90-2
    • 6.12.90-2~bpo12+1
    • 6.12.94-1
    • 6.12.94-1~bpo12+1
    • 6.12.95-1
    • 6.12.95-1~bpo12+1
    • 6.12.96-1
    • 6.13.10-1~exp1
    • 6.13.11-1~exp1
    • 6.13.2-1~exp1
    • 6.13.3-1~exp1
    • 6.13.4-1~exp1
    • 6.13.5-1~exp1
    • 6.13.6-1~exp1
    • 6.13.7-1~exp1
    • 6.13.8-1~exp1
    • 6.13.9-1~exp1
    • 6.13~rc6-1~exp1
    • 6.13~rc7-1~exp1
    • 6.14.3-1~exp1
    • 6.14.5-1~exp1
    • 6.14.6-1~exp1
    • 6.15-1~exp1
    • 6.15.1-1~exp1
    • 6.15.2-1~exp1
    • 6.15.3-1~exp1
    • 6.15.4-1~exp1
    • 6.15.5-1~exp1
    • 6.15.6-1~exp1
    • 6.15~rc7-1~exp1
    • 6.16-1~exp1
    • 6.16.1-1~exp1
    • 6.16.10-1
    • 6.16.11-1
    • 6.16.12-1
    • 6.16.12-1~bpo13+1
    • 6.16.12-2
    • 6.16.3-1
    • 6.16.3-1~bpo13+1
    • 6.16.5-1
    • 6.16.6-1
    • 6.16.7-1
    • 6.16.8-1
    • 6.16.9-1
    • 6.16~rc7-1~exp1
    • 6.17.10-1
    • 6.17.11-1
    • 6.17.12-1
    • 6.17.13-1
    • 6.17.13-1~bpo13+1
    • 6.17.2-1~exp1
    • 6.17.5-1~exp1
    • 6.17.6-1
    • 6.17.7-1
    • 6.17.7-2
    • 6.17.8-1
    • 6.17.8-1~bpo13+1
    • 6.17.9-1
    • 6.18.1-1~exp1
    • 6.18.10-1
    • 6.18.12-1
    • 6.18.12-1~bpo13+1
    • 6.18.13-1
    • 6.18.14-1
    • 6.18.15-1
    • 6.18.15-1~bpo13+1
    • 6.18.2-1~exp1
    • 6.18.3-1
    • 6.18.5-1
    • 6.18.5-1~bpo13+1
    • 6.18.8-1
    • 6.18.9-1
    • 6.18.9-1~bpo13+1
    • 6.18~rc4-1~exp1
    • 6.18~rc4-1~exp2
    • 6.18~rc5-1~exp1
    • 6.18~rc6-1~exp1
    • 6.18~rc7-1~exp1
    • 6.19-1~exp1
    • 6.19.10-1
    • 6.19.10-1~bpo13+1
    • 6.19.11-1
    • 6.19.11-1~bpo13+1
    • 6.19.12-1
    • 6.19.13-1
    • 6.19.13-1~bpo13+1
    • 6.19.14-1
    • 6.19.14-1~bpo13+1
    • 6.19.2-1~exp1
    • 6.19.3-1~exp1
    • 6.19.4-1~exp1
    • 6.19.5-1~exp1
    • 6.19.6-1
    • 6.19.6-2
    • 6.19.6-2~bpo13+1
    • 6.19.8-1
    • 6.19.8-1~bpo13+1
    • 6.19~rc4-1~exp1
    • 6.19~rc5-1~exp1
    • 6.19~rc6-1~exp1
    • 6.19~rc7-1~exp1
    • 6.19~rc8-1~exp1
    • 7.0-1~exp1
    • 7.0.1-1~exp1
    • 7.0.10-1
    • 7.0.10-1~bpo13+1
    • 7.0.12-1
    • 7.0.12-2
    • 7.0.12-2~bpo13+1
    • 7.0.13-1
    • 7.0.13-1~bpo13+1
    • 7.0.14-1
    • 7.0.3-1
    • 7.0.4-1
    • 7.0.4-1~bpo13+1
    • 7.0.7-1
    • 7.0.7-1~bpo13+1
    • 7.0.9-1
    • 7.0.9-1~bpo13+1
    • 7.1.1-1~exp1
    • 7.1.10-1
    • 7.1.12-1
    • 7.1.13-1
    • 7.1.13-1~bpo13+1
    • 7.1.2-1~exp1
    • 7.1.3-1
    • 7.1.3-1+sunvdc
    • 7.1.3-1~bpo13+1
    • 7.1.4-1
    • 7.1.5-1
    • 7.1.6-1
    • 7.1.7-1
    • 7.1.7-1~bpo13+1
    • 7.1.8-1
    • 7.1.8-1~bpo13+1
    • 7.1.8-2
    • 7.1.9-1
    • 7.1.9-1+sparc64
    • 7.1~rc2-1~exp1
    • 7.1~rc3-1~exp1
    • 7.1~rc4-1~exp1
    • 7.1~rc4-1~exp2
    • 7.1~rc5-1~exp1
    • 7.1~rc7-1~exp1
    • 7.2.10-1
    • 7.2.2-1~exp1
    • 7.2.3-1~exp1
    • 7.2.6-1
    • 7.2.6-1~bpo13+1
    • 7.2.7-1
    • 7.2.8-1
    • 7.2.9-1
    • 7.2.9-1~bpo13+1
    • 7.2~rc3-1~exp1
    • 7.2~rc5-1~exp1
    • 7.2~rc7-1~exp1
    Affected ranges
    • ECOSYSTEM: < 7.2.11-1

    Update to 7.2.11-1

Original sources

Check your server →