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.
Analysis and contextual insights are available on OpenCVE Cloud.
No vendor fix or workaround currently provided.
Additional remediation guidance may be available on OpenCVE Cloud.
Tracking
Sign in to view the affected projects.
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-4379-1 | linux-6.1 security update |
Debian DLA |
DLA-4404-1 | linux security update |
Debian DSA |
DSA-6053-1 | linux security update |
Ubuntu USN |
USN-8029-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-8030-1 | Linux kernel (GCP) vulnerabilities |
Ubuntu USN |
USN-8033-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-8033-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-8033-3 | Linux kernel (FIPS) vulnerabilities |
Ubuntu USN |
USN-8034-1 | Linux kernel (NVIDIA Tegra) vulnerabilities |
Ubuntu USN |
USN-8033-4 | Linux kernel (AWS) vulnerabilities |
Ubuntu USN |
USN-8029-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-8033-5 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-8034-2 | Linux kernel (NVIDIA Tegra IGX) vulnerabilities |
Ubuntu USN |
USN-8048-1 | Linux kernel (OEM) vulnerabilities |
Ubuntu USN |
USN-8033-6 | Linux kernel (NVIDIA) vulnerabilities |
Ubuntu USN |
USN-8033-7 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-8033-8 | Linux kernel (Intel IoTG) vulnerabilities |
Ubuntu USN |
USN-8029-3 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-8095-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-8095-2 | Linux kernel (FIPS) vulnerabilities |
Ubuntu USN |
USN-8100-1 | Linux kernel (NVIDIA) vulnerabilities |
Ubuntu USN |
USN-8095-3 | Linux kernel (Real-time) vulnerabilities |
Ubuntu USN |
USN-8095-4 | Linux kernel (AWS) vulnerabilities |
Ubuntu USN |
USN-8125-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-8126-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-8095-5 | Linux kernel (Raspberry Pi) vulnerabilities |
Ubuntu USN |
USN-8141-1 | Linux kernel (Raspberry Pi) vulnerabilities |
Ubuntu USN |
USN-8163-1 | Linux kernel (Azure FIPS) vulnerabilities |
Ubuntu USN |
USN-8165-1 | Linux kernel (Azure FIPS) vulnerabilities |
Ubuntu USN |
USN-8163-2 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-8243-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-8261-1 | Linux kernel (Xilinx) vulnerabilities |
Mon, 01 Dec 2025 06:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
Wed, 29 Oct 2025 13:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
Tue, 21 Oct 2025 00:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-416 | |
| References |
| |
| Metrics |
threat_severity
|
cvssV3_1
|
Mon, 20 Oct 2025 13:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Linux
Linux linux Kernel |
|
| Vendors & Products |
Linux
Linux linux Kernel |
Sun, 19 Oct 2025 15:00:00 +0000
Sat, 18 Oct 2025 08:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | scsi: mvsas: Fix use-after-free bugs in mvs_work_queue | |
| References |
|
Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2026-05-11T21:40:33.447Z
Reserved: 2025-04-16T07:20:57.151Z
Link: CVE-2025-40001
No data.
Status : Deferred
Published: 2025-10-18T08:15:34.130
Modified: 2026-04-15T00:35:42.020
Link: CVE-2025-40001
OpenCVE Enrichment
Updated: 2025-10-20T13:21:33Z
Debian DLA
Debian DSA
Ubuntu USN