CVE-2025-40001
CVE-2025-40001 is a security vulnerability that is still awaiting full analysis and scoring. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low.
Key facts
- EPSS exploit prediction: 0% (14th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2025-34988
- Published:
- Last modified:
Description
In the Linux kernel, the following vulnerability has been resolved: scsi: mvsas: Fix use-after-free bugs in mvs_work_queue During the detaching of Marvell's SAS/SATA controller, the original code calls cancel_delayed_work() in mvs_free() to cancel the delayed work item mwq->work_q. However, if mwq->work_q is already running, the cancel_delayed_work() may fail to cancel it. This can lead to use-after-free scenarios where mvs_free() frees the mvs_info while mvs_work_queue() is still executing and attempts to access the already-freed mvs_info. A typical race condition is illustrated below: CPU 0 (remove) | CPU 1 (delayed work callback) mvs_pci_remove() | mvs_free() | mvs_work_queue() cancel_delayed_work() | kfree(mvi) | | mvi-> // UAF Replace cancel_delayed_work() with cancel_delayed_work_sync() to ensure that the delayed work item is properly canceled and any executing delayed work item completes before the mvs_info is deallocated. This bug was found by static analysis.
Frequently asked questions
- What is CVE-2025-40001?
- In the Linux kernel, the following vulnerability has been resolved: scsi: mvsas: Fix use-after-free bugs in mvs_work_queue During the detaching of Marvell's SAS/SATA controller, the original code calls cancel_delayed_work() in mvs_free() to cancel the delayed work item mwq->work_q. However, if mwq->work_q is already running, the cancel_delayed_work() may fail to cancel it. This can lead to use-after-free scenarios where mvs_free() frees the mvs_info while mvs_work_queue() is still executing and attempts to access the already-freed mvs_info. A typical race condition is illustrated below: CPU 0 (remove) | CPU 1 (delayed work callback) mvs_pci_remove() | mvs_free() | mvs_work_queue() cancel_delayed_work() | kfree(mvi) | | mvi-> // UAF Replace cancel_delayed_work() with cancel_delayed_work_sync() to ensure that the delayed work item is properly canceled and any executing delayed work item completes before the mvs_info is deallocated. This bug was found by static analysis.
- Is CVE-2025-40001 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (14th percentile), an estimate of the probability of exploitation in the next 30 days.
- How do I fix CVE-2025-40001?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- Does CVE-2025-40001 have an EU (EUVD) identifier?
- Yes. CVE-2025-40001 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2025-34988.
- When was CVE-2025-40001 published?
- CVE-2025-40001 was published on 2025-10-18 and last updated on 2026-06-17.
References
- https://git.kernel.org/stable/c/00d3af40b158ebf7c7db2b3bbb1598a54bf28127
- https://git.kernel.org/stable/c/3c90f583d679c81a5a607a6ae0051251b6dee35b
- https://git.kernel.org/stable/c/60cd16a3b7439ccb699d0bf533799eeb894fd217
- https://git.kernel.org/stable/c/6ba7e73cafd155a5d3abf560d315f0bab2b9d89f
- https://git.kernel.org/stable/c/a6f68f219d4d4b92d7c781708d4afc4cc42961ec
- https://git.kernel.org/stable/c/aacd1777d4a795c387a20b9ca776e2c1225d05d7
- https://git.kernel.org/stable/c/c2c35cb2a31844f84f21ab364b38b4309d756d42
- https://git.kernel.org/stable/c/feb946d2fc9dc754bf3d594d42cd228860ff8647