High · published July 16, 2024
In the Linux kernel, the following vulnerability has been resolved:
scsi: pm8001: Fix use-after-free for aborted TMF sas_task
Currently a use-after-free may occur if a TMF sas_task is aborted before we
handle the IO completion in mpi_ssp_completion(). The abort occurs due to
timeout.
When the timeout occurs, the SAS_TASK_STATE_ABORTED flag is set and the
sas_task is freed in pm8001_exec_internal_tmf_task().
However, if the I/O completion occurs later, the I/O completion still
thinks that the sas_task is available. Fix this by clearing the ccb->task
if the TMF times out - the I/O completion handler does nothing if this
pointer is cleared.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | < 5.10.102 | 5.10.102 |
| linux/linux_kernel | ≥ 5.11, < 5.15.25 | 5.15.25 |
| linux/linux_kernel | ≥ 5.16, < 5.16.11 | 5.16.11 |