thunderbolt: Don't access a DP tunnel after its DPRX read was canceled
Summary
| CVE | CVE-2026-98689 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-10-18 16:17:22 UTC |
| Updated | 2026-10-19 10:19:33 UTC |
| Description | 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. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected d6d458d42e1e1544a18f37f1d5c840e00d5261b9 405a969c0b3356639116db89ab367be1d64b77c0 git |
Not specified |
| CNA |
Linux |
Linux |
affected d6d458d42e1e1544a18f37f1d5c840e00d5261b9 2c2fd6a7fd5e1218db7e17336fc1a0393b6949e6 git |
Not specified |
| CNA |
Linux |
Linux |
affected d6d458d42e1e1544a18f37f1d5c840e00d5261b9 419fa32fa5bc2d7fb9d0d15d5630b1c1090808b3 git |
Not specified |
| CNA |
Linux |
Linux |
affected 6.14 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.14 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.56 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2.10 7.2.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.3 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/419fa32fa5bc2d7fb9d0d15d5630b1c1090808b3 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/2c2fd6a7fd5e1218db7e17336fc1a0393b6949e6 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/405a969c0b3356639116db89ab367be1d64b77c0 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.