CVE & CISA-KEV Catalog

CVE-2025-40002

UNSCORED

Description

In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Fix use-after-free in tb_dp_dprx_work The original code relies on cancel_delayed_work() in tb_dp_dprx_stop(), which does not ensure that the delayed work item tunnel->dprx_work has fully completed if it was already running. This leads to use-after-free scenarios where tb_tunnel is deallocated by tb_tunnel_put(), while tunnel->dprx_work remains active and attempts to dereference tb_tunnel in tb_dp_dprx_work(). A typical race condition is illustrated below: CPU 0 | CPU 1 tb_dp_tunnel_active() | tb_deactivate_and_free_tunnel()| tb_dp_dprx_start() tb_tunnel_deactivate() | queue_delayed_work() tb_dp_activate() | tb_dp_dprx_stop() | tb_dp_dprx_work() //delayed worker cancel_delayed_work() | tb_tunnel_put(tunnel); | | tunnel = container_of(...); //UAF | tunnel-> //UAF Replacing cancel_delayed_work() with cancel_delayed_work_sync() is not feasible as it would introduce a deadlock: both tb_dp_dprx_work() and the cleanup path acquire tb->lock, and cancel_delayed_work_sync() would wait indefinitely for the work item that cannot proceed. Instead, implement proper reference counting: - If cancel_delayed_work() returns true (work is pending), we release the reference in the stop function. - If it returns false (work is executing or already completed), the reference is released in delayed work function itself. This ensures the tb_tunnel remains valid during work item execution while preventing memory leaks. This bug was found by static analysis.

How to fix

Remediation Available
linuxDebian
Fixed in:6.17.6-1CVE-2025-40002
linuxUbuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-awsUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-azureUbuntu
Fixed in:6.17.0-1008.8USN-8029-3
linux-gcpUbuntu
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-6.17.0-1006-realtimeUbuntu
Fixed in:6.17.0-1006.7USN-8029-1
linux-image-6.17.0-1007-awsUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-6.17.0-1007-aws-64kUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-6.17.0-1007-gcpUbuntu
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-6.17.0-1007-gcp-64kUbuntu
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-6.17.0-1007-oracleUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-6.17.0-1007-oracle-64kUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-6.17.0-1008-azureUbuntu
Fixed in:6.17.0-1008.8USN-8029-3
linux-image-6.17.0-1008-raspiUbuntu
Fixed in:6.17.0-1008.8USN-8029-1
linux-image-6.17.0-1011-oemUbuntu
Fixed in:6.17.0-1011.11USN-8048-1
linux-image-6.17.0-14-genericUbuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-image-6.17.0-14-generic-64kUbuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-image-awsUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-aws-6.17Ubuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-aws-64kUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-aws-64k-6.17Ubuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-azureUbuntu
Fixed in:6.17.0-1008.8USN-8029-3
linux-image-azure-6.17Ubuntu
Fixed in:6.17.0-1008.8USN-8029-3
linux-image-gcpUbuntu
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-gcp-6.17Ubuntu
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-gcp-64kUbuntu
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-gcp-64k-6.17Ubuntu
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-genericUbuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-image-generic-6.17Ubuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-image-generic-64kUbuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-image-generic-64k-6.17Ubuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-image-oem-6.17Ubuntu
Fixed in:6.17.0-1011.11USN-8048-1
linux-image-oracleUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-oracle-6.17Ubuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-oracle-64kUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-oracle-64k-6.17Ubuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-raspiUbuntu
Fixed in:6.17.0-1008.8USN-8029-1
linux-image-raspi-6.17Ubuntu
Fixed in:6.17.0-1008.8USN-8029-1
linux-image-realtimeUbuntu
Fixed in:6.17.0-1006.7USN-8029-1
linux-image-realtime-6.17Ubuntu
Fixed in:6.17.0-1006.7USN-8029-1
linux-image-virtualUbuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-image-virtual-6.17Ubuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-oem-6.17Ubuntu
Fixed in:6.17.0-1011.11USN-8048-1
linux-oracleUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-raspiUbuntu
Fixed in:6.17.0-1008.8USN-8029-1
linux-realtimeUbuntu
Fixed in:6.17.0-1006.7USN-8029-1

Remediation is compiled from vendor and distribution security advisories. Always confirm against the linked source for your exact version and platform.

CVSS v3.1 Vector

No CVSS vector data available.

Exploit Intelligence

0.23%probability of exploitation in 30 days
14thpercentile

Low risk: more likely to be exploited than 14% of all known CVEs.

References

Embed a live status badge for CVE-2025-40002
CVE-2025-40002 severity badge

Markdown

[![CVE-2025-40002](https://tridentstack.com/cve/badge/CVE-2025-40002.svg)](https://tridentstack.com/cve/CVE-2025-40002)

HTML

<a href="https://tridentstack.com/cve/CVE-2025-40002"><img src="https://tridentstack.com/cve/badge/CVE-2025-40002.svg" alt="CVE-2025-40002"></a>

Find and fix vulnerabilities across your fleet

TridentStack Control continuously scans your Windows, macOS, and Linux fleet for known vulnerabilities, prioritizes them by severity and active exploitation, and patches them automatically.

Start free

This product uses NVD data but is not endorsed or certified by the NVD. EPSS scores courtesy of FIRST.org (https://www.first.org/epss). Source: CISA KEV Catalog. Data as of 2025-10-21.