CVE-2024-58093: PCI/ASPM: Fix link state exit during switch upstream function removal
In the Linux kernel, the following vulnerability has been resolved:
PCI/ASPM: Fix link state exit during switch upstream function removal
Before 456d8aa37d0f ("PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free"), we would free the ASPM link only after the last function on the bus pertaining to the given link was removed.
That was too late. If function 0 is removed before sibling function, link->downstream would point to free'd memory after.
After above change, we freed the ASPM parent link state upon any function removal on the bus pertaining to a given link.
That is too early. If the link is to a PCIe switch with MFD on the upstream port, then removing functions other than 0 first would free a link which still remains parentlink to the remaining downstream ports.
The resulting GPFs are especially frequent during hot-unplug, because pciehp removes devices on the link bus in reverse order.
On that switch, function 0 is the virtual P2P bridge to the internal bus. Free exactly when function 0 is removed -- before the parent link is obsolete, but after all subordinate links are gone.
[kwilczynski: commit log]
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2024-58093?
The severity of CVE-2024-58093 is considered to be moderate due to potential use-after-free vulnerabilities in the Linux kernel.
How do I fix CVE-2024-58093?
To fix CVE-2024-58093, update your Linux kernel to the latest version that includes the patch for this vulnerability.
Which versions of Linux kernel are affected by CVE-2024-58093?
CVE-2024-58093 affects multiple versions of the Linux kernel prior to the fix, although specific version details are typically provided in vendor advisories.
What are the potential consequences of CVE-2024-58093?
The potential consequences of CVE-2024-58093 include system crashes or instability due to the use-after-free issue in PCI/ASPM handling.
Is there a specific patch for CVE-2024-58093 available?
Yes, a specific patch for CVE-2024-58093 is included in recent updates to the Linux kernel, which can be applied to mitigate the vulnerability.