Linux: thunderbolt: Tear down inactive DP tunnels when the domain is stopped
What fixes it
- 34a6e27c954e5bfc29fead17867c7155d54b6481LinuxCVE List
- 0b457c6733f73421a3fb03786f13d67c618b5119LinuxCVE 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: Tear down inactive DP tunnels when the domain is stopped
tb_stop() only tears down DMA tunnels so a DP tunnel that is still waiting for dprx_work to complete keeps that work queued while the routers are removed and the control channel is stopped. The work only stops once the DPRX timeout has passed and because it requeues itself until then the flush_workqueue() in tb_domain_remove() won't wait for its final run. The callback then runs against a domain that is already torn down. A reference to that domain is kept so the completion waiting for that domain to disappear in unbind will block until the timeout is eventually reached.
Tear down DP tunnels that are not active yet as well which also cancels that work. Tunnels for displays that are already alive are untouched and keep working.
Text from CVE List
Affected versions 8
- Linuxaffected: d6d458d42e1e1544a18f37f1d5c840e00d5261b9 before 34a6e27c954e5bfc29fead17867c7155d54b6481CVE List
- Linuxaffected: d6d458d42e1e1544a18f37f1d5c840e00d5261b9 before cbd2abb85ea32cafdcbaba218e13b18d8ed79bfaCVE List
- Linuxaffected: d6d458d42e1e1544a18f37f1d5c840e00d5261b9 before 0b457c6733f73421a3fb03786f13d67c618b5119CVE 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