CVE Catalog

CVE-2026-98689

Low risk· EPSS 5%
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.17%

5th percentile - higher than 5% of all known CVEs

Summary

In the Linux kernel, the Thunderbolt driver's tb_dp_dprx_work() checks the ->dprx_canceled flag before taking tb->lock, so it can miss a tb_dp_dprx_stop() that could not cancel already running work. As a result, it polls DPRX capabilities and runs the callback for a tunnel that has already been torn down while the domain is suspending or going away.

Risk Assessment

May cause access to already freed tunnel structures during system suspend or driver unbind, leading to instability or kernel crashes.

Recommendation

Update the Linux kernel to a version with the fix that checks the flag with tb->lock held and again in tb_dp_tunnel_active(). Until then, avoid suspending the system with active DP tunnels on Apple NHI hardware.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS