All vulnerabilities
CVE-2026-98690

Linux: thunderbolt: Fix domain reference leak when DPRX read is canceled

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.17%Chance of exploitation activity in the next 30 days, higher than 5% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in2f5893172fc6153f5f1ef34014ddbfcbf1f47f29Also 7739b02129b2248f9a8054cfda924fa253f66a88, 1fd1f67c94d30889377bba774f032ec15e8b9299CVE List
Published18 Oct 2026Updated 19 Oct 2026CVE List

What fixes it

  • 2f5893172fc6153f5f1ef34014ddbfcbf1f47f29LinuxCVE List
  • 7739b02129b2248f9a8054cfda924fa253f66a88LinuxCVE List
  • 1fd1f67c94d30889377bba774f032ec15e8b9299LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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.

Text from CVE List

Affected versions 8

  • Linuxaffected: d6d458d42e1e1544a18f37f1d5c840e00d5261b9 before 2f5893172fc6153f5f1ef34014ddbfcbf1f47f29CVE List
  • Linuxaffected: d6d458d42e1e1544a18f37f1d5c840e00d5261b9 before 7739b02129b2248f9a8054cfda924fa253f66a88CVE List
  • Linuxaffected: d6d458d42e1e1544a18f37f1d5c840e00d5261b9 before 1fd1f67c94d30889377bba774f032ec15e8b9299CVE List
  • Linuxaffected: 6.14CVE List
  • Linuxunaffected: all versions before 6.14CVE List
  • Linuxunaffected: 6.18.56 through 6.18.*CVE List
  • Linuxunaffected: 7.2.10 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 3