Bug 2298128 (CVE-2022-48792) - CVE-2022-48792 kernel: scsi: pm8001: Fix use-after-free for aborted SSP/STP sas_task
Summary: CVE-2022-48792 kernel: scsi: pm8001: Fix use-after-free for aborted SSP/STP s...
Keywords:
Status: NEW
Alias: CVE-2022-48792
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-16 12:26 UTC by OSIDB Bzimport
Modified: 2024-09-24 13:53 UTC (History)
4 users (show)

Fixed In Version: kernel 5.10.102, kernel 5.15.25, kernel 5.16.11, kernel 5.17
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2024-07-16 12:26:18 UTC
In the Linux kernel, the following vulnerability has been resolved:

scsi: pm8001: Fix use-after-free for aborted SSP/STP sas_task

Currently a use-after-free may occur if a sas_task is aborted by the upper
layer before we handle the I/O completion in mpi_ssp_completion() or
mpi_sata_completion().

In this case, the following are the two steps in handling those I/O
completions:

 - Call complete() to inform the upper layer handler of completion of
   the I/O.

 - Release driver resources associated with the sas_task in
   pm8001_ccb_task_free() call.

When complete() is called, the upper layer may free the sas_task. As such,
we should not touch the associated sas_task afterwards, but we do so in the
pm8001_ccb_task_free() call.

Fix by swapping the complete() and pm8001_ccb_task_free() calls ordering.


Note You need to log in before you can comment on or make changes to this bug.