CVE-2022-48792·Kernel vulnerability
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.
- Severity
- high
- Software
- Kernel
- Fixed in
- 5.16.11
- Published
- 2024-07-16
Affected versions
From: 5.16
Until: 5.16.11
Fixed in: 5.16.11
How to fix this CVE
Update your Linux kernel to version 5.16.11 or later to address a use-after-free vulnerability in the PM8001 SCSI driver that could allow local privilege escalation through improper handling of aborted SAS tasks. The vulnerability occurs when task completion handlers access freed memory after the upper layer has already released resources. Apply the latest stable kernel patch immediately to prevent potential system compromise.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check kernel version by running `uname -r` and verify it is 5.16.11 or newer (or use `cat /proc/version`)
- Step 2: Confirm PM8001 driver is in use with `lsmod | grep pm8001` or check `lspci | grep -i sas` for compatible hardware
- Step 3: Search kernel logs for use-after-free errors with `dmesg | grep -i 'use-after-free\|pm8001\|sas_task' | tail -20`
- Step 4: After patching, reboot and run `uname -r` again to verify the new kernel version has loaded, then re-check dmesg for absence of related errors
FAQ
What is CVE-2022-48792?
CVE-2022-48792 is a use-after-free vulnerability in the Linux kernel's PM8001 SAS controller driver that occurs when the driver accesses freed memory from an aborted task after the upper layer has already released it, potentially leading to local privilege escalation.
Is CVE-2022-48792 being actively exploited?
No, CVE-2022-48792 is not listed in CISA's Known Exploited Vulnerabilities (KEV) catalog and has no publicly available exploit code.
What versions of Kernel are affected by CVE-2022-48792?
Linux kernel versions 5.16 through 5.16.10 are vulnerable. Version 5.16.11 and all subsequent stable releases have the fix applied.
How do I check if my server is vulnerable to CVE-2022-48792?
Run `uname -r` to check your kernel version; if it is between 5.16.0 and 5.16.10, you are vulnerable. Additionally, confirm PM8001 driver presence with `lsmod | grep pm8001` to determine if the vulnerable code path is active.
Does Defensia detect CVE-2022-48792?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server running version 5.16.0–5.16.10, CVE-2022-48792 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/d9d93f32534a0a80a1c26bdb0746d90a7b19c2c2
- https://git.kernel.org/stable/c/df7abcaa1246e2537ab4016077b5443bb3c09378
- https://git.kernel.org/stable/c/f61f9fccb2cb4bb275674a79d638704db6bc2171
- https://git.kernel.org/stable/c/fe9ac3eaa2e387a5742b380b73a5a6bc237bf184
- https://git.kernel.org/stable/c/d9d93f32534a0a80a1c26bdb0746d90a7b19c2c2
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2022-48792. Free for 1 server.
Get started free