Skip to main content
← All vulnerabilities
CVE-2026-98689

thunderbolt: Don't access a DP tunnel after its DPRX read was canceled

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.18.56, 7.2.10
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Don't access a DP tunnel after its DPRX read was canceled tb_dp_dprx_work() checks ->dprx_canceled before it takes tb->lock so it misses a tb_dp_dprx_stop() that could not cancel the already running work. It then polls the DPRX capabilities and runs the callback for a tunnel that has already been torn down while the domain is suspending or going away. This can be hit by cancelling the DPRX read from outside the ordered tb->wq: During suspend tb_disconnect_and_release_dp() does just this and with a later patch tb_stop() will do it as well. The latter in combination with the Apple NHI where the DPRX read never completed is how I hit this. Check the flag with tb->lock held instead and check it again in tb_dp_tunnel_active() because the callback runs after the lock has been dropped again. Also clear the flag in tb_dp_dprx_start() so that it only ever describes the work that is currently in flight.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From d6d458d42e1e1544a18f37f1d5c840e00d5261b9 · fixed in 405a969c0b3356639116db89ab367be1d64b77c0; From d6d458d42e1e1544a18f37f1d5c840e00d5261b9 · fixed in 2c2fd6a7fd5e1218db7e17336fc1a0393b6949e6; From d6d458d42e1e1544a18f37f1d5c840e00d5261b9 · fixed in 419fa32fa5bc2d7fb9d0d15d5630b1c1090808b3

  • Linux Linux

    6.14

  • KernelLinux

    From 6.14.0 · fixed in 6.18.56; From 6.19.0 · fixed in 7.2.10

References 3

git.kernel.org