PCI/ASPM: Fix link state exit during switch upstream function removal (Linux Linux)

CVE-2024-58093
HIGH 7.8

At a glance

Source
NVD
EPSS
EPSS 0.23 % · percentile 14 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Modified

Description

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 parent_link 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]

Weaknesses (CWE)

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected 666e7f9d60cee23077ea3e6331f6f8a19f7ea03f < 0a0f9aecf66b98959aab7fb5764b4b3e522f4f5b ; affected 7badf4d6f49a358a01ab072bbff88d3ee886c33b < 62db339ecc3d58d8fd83a9e4d80061cd943bb6e2 ; affected 9856c0de49052174ab474113f4ba40c02aaee086 < e5cd58f61e9d8024ee11bd78c12c8916891d4077 ; affected 7aecdd47910c51707696e8b0e045b9f88bd4230f < cd4b07507794f7ad1a74e12eca75121d98187e66 ; affected 456d8aa37d0f56fc9e985e812496e861dcd6f2f2 < 8b930ddc2044e36866c41423e89889e0258695a3 ; affected 456d8aa37d0f56fc9e985e812496e861dcd6f2f2 < f556b6ba0ac5f8353287ce6ed761228f0b4fafb7
Linux · Linuxaffected 6.5 ; unaffected 0 < 6.5 ; unaffected 5.4.292 ≤ 5.4.* ; unaffected 5.10.236 ≤ 5.10.* ; unaffected 5.15.180 ≤ 5.15.* ; unaffected 6.1.134 ≤ 6.1.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD