CVE-2026-98688
Last modified
CVE-2026-98688 is a vulnerability of currently unknown severity. 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.
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.
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= a8937f35cf39c39c64325aa84d0463d866850857, < 2f4cd43faa9d6470b30a9fbcbac6584db8108c1f; >= a8937f35cf39c39c64325aa84d0463d866850857, < 4310c6b8e75d6a47f7548e5948fbe6318aa4440a; 3e9e823810b9a51f0bee9ed6e3d90df70484ff8d; 9363cd4977260bf7f211feee54f85858bba2320c; >= 5.10.266, < 5.11; >= 5.15.217, < 5.16 |
| Linux | Linux | 7.2 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-98688?
How severe is CVE-2026-98688?
How do I fix CVE-2026-98688?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-98682In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98683In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98684In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98685In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98686In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98687In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98689In the Linux kernel, the following vulnerability has been re…
- CVE-2026-9869A stack-based buffer overflow vulnerability exists in the bo…9.1
- CVE-2026-98690In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98691In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98692In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98693In the Linux kernel, the following vulnerability has been re…
Are you affected by CVE-2026-98688?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
