CVE-2026-23306

HighCVSS 7.8/10Last modified Jun 17, 2026

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.

Metrics

CVSS 3.1 7.8/10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Weakness enumeration

Affected software

VendorProductVersions
LinuxLinux>= e29c47fe8946cc732b0e0d393b65b13c84bb69d0, < ebbb852ffbc952b95ddb7e3872b67b3e74c6da47; >= e29c47fe8946cc732b0e0d393b65b13c84bb69d0, < 8b00427317ba7b7ec91252b034009f638d0f311b; >= e29c47fe8946cc732b0e0d393b65b13c84bb69d0, < c5dc39f8ae055520fd778b7fb0423f11586f15c4; >= e29c47fe8946cc732b0e0d393b65b13c84bb69d0, < 824a7672e3540962d5c77d4c6666254d7aa6f0b3; >= e29c47fe8946cc732b0e0d393b65b13c84bb69d0, < 227ff4af00abc40b95123cc27ee8079069dcd8d7; >= e29c47fe8946cc732b0e0d393b65b13c84bb69d0, < 38353c26db28efd984f51d426eac2396d299cca7
LinuxLinux5.18

References

Timeline

Published
Mar 25, 2026
Last modified
Jun 17, 2026
NVD status
Analyzed

Related CVEs from 2026

CVE-2026-233075.5In the Linux kernel, the following vulnerability has been resolved: can: ems_usb: ems_usb_read_bulk_callback(): check the proper length of CVE-2026-233085.5In the Linux kernel, the following vulnerability has been resolved: pinctrl: equilibrium: fix warning trace on load The callback functionsCVE-2026-233095.5In the Linux kernel, the following vulnerability has been resolved: tracing: Add NULL pointer check to trigger_data_free() If trigger_dataCVE-2026-23319.8An attacker may perform unauthenticated read and write operations on sensitive filesystem areas via the AppEngine Fileaccess over HTTP due tCVE-2026-233105.5In the Linux kernel, the following vulnerability has been resolved: bpf/bonding: reject vlan+srcmac xmit_hash_policy change when XDP is loaCVE-2026-233115.5In the Linux kernel, the following vulnerability has been resolved: perf/core: Fix invalid wait context in ctx_sched_in() Lockdep found a CVE-2026-233125.5In the Linux kernel, the following vulnerability has been resolved: net: usb: kaweth: validate USB endpoints The kaweth driver should valiCVE-2026-233135.5In the Linux kernel, the following vulnerability has been resolved: i40e: Fix preempt count leak in napi poll tracepoint Using get_cpu() iCVE-2026-233145.5In the Linux kernel, the following vulnerability has been resolved: regulator: bq257xx: Fix device node reference leak in bq257xx_reg_dt_paCVE-2026-233157.1In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: Fix possible oob access in mt76_connac2_mac_write_txwi_8021CVE-2026-233165.5In the Linux kernel, the following vulnerability has been resolved: net: ipv4: fix ARM64 alignment fault in multipath hash seed `struct syCVE-2026-233177.8In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: Return the correct value in vmw_translate_ptr functions Be
CVE-2026-23306: High severity, CVSS 7.8 | Vulnix