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

thunderbolt: Fix NULL dereference in tb_remove_work()

There is a slight race between tb_remove_work() and tb_domain_remove()
which leads to dereferencing a NULL tb->root_switch pointer inside
tb_free_unplugged_xdomains():

Thread A Thread B

tb_remove_work()
tb_domain_remove()
mutex_lock(&tb->lock)
tb_stop()
/* doesn't cancel a running callback */
cancel_delayed_work(&tcm->remove_work)
...
tb_switch_remove(tb->root_switch)
tb->root_switch = NULL
mutex_unlock(&tb->lock)
mutex_lock(&tb->lock)
...
/* without checking ->root_switch */
tb_free_unplugged_xdomains(tb->root_switch)
mutex_unlock(&tb->lock)

Commit a8937f35cf39 ("thunderbolt: Remove XDomain from the bus without
holding tb->lock") doesn't seem right to move tb_free_unplugged_xdomains()
out of the &tb->lock section and the check for tb->root_switch, in
particular. It states:

For this reason separate removing the XDomain from the topology data
structures (where we need the lock) from unregistering the device from
the bus (where remove callbacks of the drivers are being called).

tb_free_unplugged_xdomains() belongs to the former group of functions
requiring the lock. And it also calls tb_xdomain_remove() which should
only be called with &tb->lock held.

Found by Linux Verification Center (linuxtesting.org) with Svace static
analysis tool.
Published: 2026-10-18
Score: 4.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service (kernel crash)
Action: Apply patch
AI Analysis

Impact

A race condition between tb_remove_work() and tb_domain_remove() in the Linux kernel can lead to a NULL pointer dereference inside tb_free_unplugged_xdomains(), causing a kernel panic. The vulnerable code accesses tb->root_switch without verifying that it is non‑null, which would terminate the system with a core dump. The impact is a denial of service: based on the description, it is inferred that a local attacker could trigger the race and force the kernel to crash, potentially allowing disruption of the host or subsequent exploitation in environments that rely on uninterrupted kernel operation.

Affected Systems

The vulnerability exists in the generic Linux kernel. No specific kernel versions are listed in the data, so any installation that has not applied the patch commit a8937f35cf39 is potentially affected. The product is broadly available as Linux:Linux.

Risk and Exploitability

The CVSS score is 4.1, indicating a medium impact, and the EPSS score is very low (<1%), suggesting limited likelihood of exploitation. The CVE is not listed in the CISA KEV catalog, so no large‑scale attacks are recorded. Nevertheless, because the flaw causes a kernel crash, it can be inferred that an attacker who can induce the race—by manipulating Thunderbolt devices or drivers—might immediately achieve a denial of service. Based on the description, it is inferred that the attack vector would be local and relies on interacting with the Thunderbolt subsystem; remote exploitation is unlikely without additional privileges or system access.

Generated by OpenCVE AI on October 22, 2026 at 21:38 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the kernel to a version that includes commit a8937f35cf39, which restores the lock around tb_free_unplugged_xdomains() and checks tb->root_switch before use
  • Configure Thunderbolt access controls in sysfs (e.g., via /sys/bus/thunderbolt/devices/*/allow_local) to limit untrusted device interactions
  • Disable Thunderbolt support entirely on hosts where it is unnecessary by adding the "no-thunderbolt" kernel boot parameter or removing the thunderbolt module

Generated by OpenCVE AI on October 22, 2026 at 21:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 22 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Sun, 18 Oct 2026 22:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Sun, 18 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Fix NULL dereference in tb_remove_work() There is a slight race between tb_remove_work() and tb_domain_remove() which leads to dereferencing a NULL tb->root_switch pointer inside tb_free_unplugged_xdomains(): Thread A Thread B tb_remove_work() tb_domain_remove() mutex_lock(&tb->lock) tb_stop() /* doesn't cancel a running callback */ cancel_delayed_work(&tcm->remove_work) ... tb_switch_remove(tb->root_switch) tb->root_switch = NULL mutex_unlock(&tb->lock) mutex_lock(&tb->lock) ... /* without checking ->root_switch */ tb_free_unplugged_xdomains(tb->root_switch) mutex_unlock(&tb->lock) Commit a8937f35cf39 ("thunderbolt: Remove XDomain from the bus without holding tb->lock") doesn't seem right to move tb_free_unplugged_xdomains() out of the &tb->lock section and the check for tb->root_switch, in particular. It states: For this reason separate removing the XDomain from the topology data structures (where we need the lock) from unregistering the device from the bus (where remove callbacks of the drivers are being called). tb_free_unplugged_xdomains() belongs to the former group of functions requiring the lock. And it also calls tb_xdomain_remove() which should only be called with &tb->lock held. Found by Linux Verification Center (linuxtesting.org) with Svace static analysis tool.
Title thunderbolt: Fix NULL dereference in tb_remove_work()
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-19T09:23:58.312Z

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

Link: CVE-2026-98688

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:22.207

Modified: 2026-10-19T10:19:33.190

Link: CVE-2026-98688

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98688 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T21:45:06Z

Weaknesses