CVE-2026-23306

scsi: pm8001: Fix use-after-free in pm8001_queue_command()

State
Published
Severity
7.8 High
Published
Mar 25, 2026
Updated
Aug 5, 2026
Reserved
Jan 13, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

scsi: pm8001: Fix use-after-free in pm8001_queue_command()

Commit e29c47fe8946 ("scsi: pm8001: Simplify pm8001_task_exec()") refactors pm8001_queue_command(), however it introduces a potential cause of a double free scenario when it changes the function to return -ENODEV in case of phy down/device gone state.

In this path, pm8001_queue_command() updates task status and calls task_done to indicate to upper layer that the task has been handled. However, this also frees the underlying SAS task. A -ENODEV is then returned to the caller. When libsas sas_ata_qc_issue() receives this error value, it assumes the task wasn't handled/queued by LLDD and proceeds to clean up and free the task again, resulting in a double free.

Since pm8001_queue_command() handles the SAS task in this case, it should return 0 to the caller indicating that the task has been handled.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • e29c47fe8946cc732b0e0d393b65b13c84bb69d0 to before ebbb852ffbc952b95ddb7e3872b67b3e74c6da47Affected
  • e29c47fe8946cc732b0e0d393b65b13c84bb69d0 to before 8b00427317ba7b7ec91252b034009f638d0f311bAffected
  • e29c47fe8946cc732b0e0d393b65b13c84bb69d0 to before c5dc39f8ae055520fd778b7fb0423f11586f15c4Affected
  • e29c47fe8946cc732b0e0d393b65b13c84bb69d0 to before 824a7672e3540962d5c77d4c6666254d7aa6f0b3Affected
  • e29c47fe8946cc732b0e0d393b65b13c84bb69d0 to before 227ff4af00abc40b95123cc27ee8079069dcd8d7Affected
  • e29c47fe8946cc732b0e0d393b65b13c84bb69d0 to before 38353c26db28efd984f51d426eac2396d299cca7Affected
LinuxLinux
  • 5.18Affected
  • before 5.18Not affected
  • 6.1.167 through 6.1.*Not affected
  • 6.6.130 through 6.6.*Not affected
  • 6.12.77 through 6.12.*Not affected
  • 6.18.17 through 6.18.*Not affected
  • 6.19.7 through 6.19.*Not affected
  • 7.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.