Live › vulnerability › CVE-2026-98690
Go to dashboardWhen a DisplayPort tunnel is torn down before its DPRX read finishes, the Thunderbolt driver leaks a reference to the domain. Unbinding the driver then blocks forever in a completion wait, which hangs the machine's Thunderbolt handling.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-23 21:57 UTC. All times on this page are UTC.
Systems running a Linux kernel with Thunderbolt support and DisplayPort tunnelling, such as laptops and workstations with Thunderbolt or USB4 ports. Servers and machines without Thunderbolt hardware are unlikely to load this driver and can skip it. The bug needs a DP tunnel torn down mid-read and then a driver unbind, so a plain attacker on the internet has no obvious path.
No product ranges from the sources yet.
uname -r and compare against the fixed kernel in the advisory (unknown in the sources)lspci | grep -i thunderbolt or boltctl listEach row is the first time that source carried this signal. The analyst’s rows are its own findings.
In the Linux kernel, the following vulnerability has been resolved:
thunderbolt: Fix domain reference leak when DPRX read is canceled
tb_tunnel_one_dp() takes a domain reference which is only dropped once tb_dp_tunnel_active() has run on the work queue. If that work is cancelled that reference is leaked. Since commit f5cc545f5969 ("thunderbolt: Wait for tb_domain_release() to complete when driver is removed") instead of just leaking memory this now also blocks in the completion wait forever when unbinding the driver.
This can be triggered whenever a DP tunnel is torn down before the DPRX read has completed, e.g. by unplugging within the timeout, and then unbinding the driver.
That reference only exists to keep the domain around while the DPRX work is scheduled so let the work itself own it: take it in tb_dp_dprx_start() and drop it in both places that end the work. Get/put are then paired inside the same file and it doesn't matter anymore if the callback ever runs.
This page as .md · .json · in your agent: get_signal("CVE-2026-98690")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.