CVE-2024-46842 scsi: lpfc: Handle mailbox timeouts in lpfc_get_sfp_info
A use-after-free vulnerability in the Linux kernel lpfc driver allows attackers to cause denial of service or potentially execute code via mailbox timeout handling.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-46842?
CVE-2024-46842 is a high-severity use after free vulnerability in Linux kernel, published on 27 Sep 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
scsi: lpfc: Handle mailbox timeouts in lpfc_get_sfp_info
The MBX_TIMEOUT return code is not handled in lpfc_get_sfp_info and the routine unconditionally frees submitted mailbox commands regardless of return status. The issue is that for MBX_TIMEOUT cases, when firmware returns SFP information at a later time, that same mailbox memory region references previously freed memory in its cmpl routine.
Fix by adding checks for the MBX_TIMEOUT return code. During mailbox resource cleanup, check the mbox flag to make sure that the wait did not timeout. If the MBOX_WAKE flag is not set, then do not free the resources because it will be freed when firmware completes the mailbox at a later time in its cmpl routine.
Also, increase the timeout from 30 to 60 seconds to accommodate boot scripts requiring longer timeouts.
Weakness: CWE-416
Which versions are affected by CVE-2024-46842?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-46842?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2024-46842 being exploited?
There is no known exploitation of CVE-2024-46842 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-50135, AZL-50188, BELL-CVE-2024-46842, DEBIAN-CVE-2024-46842, GHSA-97x4-gv8v-28vq, ROOT-OS-DEBIAN-11-CVE-2024-46842 and 3 more.