{
  "cveId": "CVE-2025-40002",
  "url": "https://patchblox.com/security/cve/CVE-2025-40002",
  "summary": "CVE-2025-40002 is fixed in linux on 1 platform by DEBIAN-CVE-2025-40002 (version 6.17.6-1), released October 18, 2025. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "linux: In the Linux kernel, the following vulnerability has been resolved:  thunderbolt: Fix use-after-free in tb_dp_dprx_wo...",
  "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-\u003Edprx_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-\u003Edprx_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-\u003E //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-\u003Elock, 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.",
  "published": "2025-10-18T08:15:34Z",
  "severity": "",
  "epss": 0.00253,
  "epssPercentile": 0.1684,
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "6.17.6-1",
      "fix": "DEBIAN-CVE-2025-40002",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2025-40002",
      "released": "2025-10-18T08:15:34Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T13:06:02Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}