Vulnerability · Published Oct 4, 2025 · Assigned by Linux
CVE-2025-39945cnic: Fix use-after-free bugs in cnic_delete_task
High 7.8
In plain English
A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 5% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
In the Linux kernel, the following vulnerability has been resolved: cnic: Fix use-after-free bugs in cnic_delete_task The original code uses cancel_delayed_work() in cnic_cm_stop_bnx2x_hw(), which does not guarantee that the delayed work item 'delete_task' has fully completed if it was already running. Additionally, the delayed work item is cyclic, the flush_workqueue() in cnic_cm_stop_bnx2x_hw() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after the cyclic work items have finished executing, a delayed work item may still exist in the workqueue. This leads to use-after-free scenarios where the cnic_dev is deallocated by cnic_free_dev(), while delete_task remains active and attempt to dereference cnic_dev in cnic_delete_task(). A typical race condition is illustrated below: CPU 0 (cleanup) | CPU 1 (delayed work callback) cnic_netdev_event() | cnic_stop_hw() | cnic_delete_task() cnic_cm_stop_bnx2x_hw() | ... cancel_delayed_work() | /* the queue_delayed_work() flush_workqueue() | executes after flush_workqueue()*/ | queue_delayed_work() cnic_free_dev(dev)//free | cnic_delete_task() //new instance | dev = cp->dev; //use Replace cancel_delayed_work() with cancel_delayed_work_sync() to ensure that the cyclic delayed work item is properly canceled and that any ongoing execution of the work item completes before the cnic_dev is deallocated. Furthermore, since cancel_delayed_work_sync() uses __flush_work(work, true) to synchronously wait for any currently executing instance of the work item to finish, the flush_workqueue() becomes redundant and should be removed. This bug was identified through static analysis. To reproduce the issue and validate the fix, I simulated the cnic PCI device in QEMU and introduced intentional delays — such as inserting calls to ssleep() within the cnic_delete_task() function — to increase the likelihood of triggering the bug.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | linux | 6.1.158-1 | DSA-6053-1 |
| Debian:12 | linux | 6.1.158-1 | DEBIAN-CVE-2025-39945 |
| Debian:13 | linux | 6.12.57-1 | DEBIAN-CVE-2025-39945 |
| Debian:14 | linux | 6.16.9-1 | DEBIAN-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux | 5.15.0-170.180 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux | 5.15.0-170.180 | USN-8033-1 |
| Ubuntu:24.04:LTS | linux | 6.8.0-106.106 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-aws | 5.15.0-1100.107 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-aws | 5.15.0-1100.107 | USN-8033-1 |
| Ubuntu:24.04:LTS | linux-aws | 6.8.0-1050.53 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-aws-6.14 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-aws-6.2 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-aws-6.5 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-aws-6.8 | 6.8.0-1050.53~22.04.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-azure | 5.15.0-1109.118 | USN-8163-2 |
| Ubuntu:22.04:LTS | linux-azure | 5.15.0-1109.118 | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-azure | 6.8.0-1051.57 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-azure-6.11 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-azure-6.14 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-azure-6.2 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-azure-6.5 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-azure-6.8 | 6.8.0-1051.57~22.04.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-azure-fde | 5.15.0-1109.118.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-azure-fde | 6.8.0-1058.65 | UBUNTU-CVE-2025-39945 |
| Ubuntu:25.10 | linux-azure-fde | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-azure-fde-6.14 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.8 | 6.8.0-1058.65~22.04.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-azure-nvidia | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-azure-nvidia-6.14 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-gcp | 5.15.0-1100.109 | USN-8033-1 |
| Ubuntu:22.04:LTS | linux-gcp | 5.15.0-1100.109 | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-gcp | 6.8.0-1052.55 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-gcp-6.11 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-gcp-6.14 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-gcp-6.8 | 6.8.0-1052.55~22.04.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-gke | 5.15.0-1096.102 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-gke | 5.15.0-1096.102 | USN-8033-1 |
| Ubuntu:24.04:LTS | linux-gke | 6.8.0-1048.53 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-gkeop | 5.15.0-1083.91 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-gkeop | 5.15.0-1083.91 | USN-8033-1 |
| Ubuntu:24.04:LTS | linux-gkeop | 6.8.0-1035.38 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-hwe-6.11 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-hwe-6.14 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-hwe-6.8 | 6.8.0-106.106~22.04.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-ibm | 5.15.0-1094.97 | USN-8033-1 |
| Ubuntu:22.04:LTS | linux-ibm | 5.15.0-1094.97 | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-ibm | 6.8.0-1049.49 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-ibm-6.8 | 6.8.0-1049.49~22.04.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-intel | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-intel-iotg | 5.15.0-1095.101 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-intel-iotg | 5.15.0-1095.101 | USN-8033-8 |
| Ubuntu:22.04:LTS | linux-kvm | 5.15.0-1092.97 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-kvm | 5.15.0-1092.97 | USN-8033-5 |
| Ubuntu:22.04:LTS | linux-lowlatency | 5.15.0-170.180 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-lowlatency | 5.15.0-170.180 | USN-8033-1 |
| Ubuntu:24.04:LTS | linux-lowlatency | 6.8.0-106.106.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-lowlatency-hwe-6.11 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.5 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.8 | 6.8.0-106.106.1~22.04.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-nvidia | 5.15.0-1095.96 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-nvidia | 5.15.0-1095.96 | USN-8033-6 |
| Ubuntu:24.04:LTS | linux-nvidia | 6.8.0-1049.52 | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-nvidia-6.11 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 6.8.0-1049.52~22.04.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | 6.8.0-1049.52.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra | 5.15.0-1052.52 | USN-8034-1 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra | 5.15.0-1052.52 | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-nvidia-tegra | 6.8.0-1020.20 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra-igx | 5.15.0-1041.41 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra-igx | 5.15.0-1041.41 | USN-8034-2 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-oem-6.0 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-oem-6.1 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-oem-6.11 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-oem-6.14 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-oem-6.5 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-oem-6.8 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-oracle | 5.15.0-1097.103 | USN-8033-5 |
| Ubuntu:22.04:LTS | linux-oracle | 5.15.0-1097.103 | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-oracle | 6.8.0-1047.48 | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-oracle-6.14 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | 6.8.0-1047.48~22.04.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-raspi | 5.15.0-1097.100 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-raspi | 5.15.0-1097.100 | USN-8141-1 |
| Ubuntu:24.04:LTS | linux-raspi | 6.8.0-1050.54 | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-riscv-6.14 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-riscv-6.8 | 6.8.0-106.106~22.04.1 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | no fix listed | UBUNTU-CVE-2025-39945 |
| Ubuntu:24.04:LTS | linux-xilinx | 6.8.0-1028.29 | UBUNTU-CVE-2025-39945 |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 5.15.0-1064.68 | USN-8033-7 |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 5.15.0-1064.68 | UBUNTU-CVE-2025-39945 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | fdf24086f4752aee5dfb40143c736250df017820 – before fde6e73189f40ebcf0633aed2b68e731c25f3aa3fdf24086f4752aee5dfb40143c736250df017820 – before 7b6a5b0a6b392263c3767fc945b311ea04b34bbdfdf24086f4752aee5dfb40143c736250df017820 – before 0405055930264ea8fd26f4131466fa7652e5e47dfdf24086f4752aee5dfb40143c736250df017820 – before e1fcd4a9c09feac0902a65615e866dbf22616125fdf24086f4752aee5dfb40143c736250df017820 – before 8eeb2091e72d75df8ceaa2172638d61b4cf8929afdf24086f4752aee5dfb40143c736250df017820 – before 6e33a7eed587062ca8161ad1f4584882a860d697fdf24086f4752aee5dfb40143c736250df017820 – before 0627e1481676669cae2df0d85b5ff13e7d24c390fdf24086f4752aee5dfb40143c736250df017820 – before cfa7d9b1e3a8604afc84e9e51d789c29574fb216 |
| Linux | Linux | 2.6.37 |
References
- https://git.kernel.org/stable/c/fde6e73189f40ebcf0633aed2b68e731c25f3aa3
- https://git.kernel.org/stable/c/7b6a5b0a6b392263c3767fc945b311ea04b34bbd
- https://git.kernel.org/stable/c/0405055930264ea8fd26f4131466fa7652e5e47d
- https://git.kernel.org/stable/c/e1fcd4a9c09feac0902a65615e866dbf22616125
- https://git.kernel.org/stable/c/8eeb2091e72d75df8ceaa2172638d61b4cf8929a
- https://git.kernel.org/stable/c/6e33a7eed587062ca8161ad1f4584882a860d697
- https://git.kernel.org/stable/c/0627e1481676669cae2df0d85b5ff13e7d24c390
- https://git.kernel.org/stable/c/cfa7d9b1e3a8604afc84e9e51d789c29574fb216