CVE-2024-56561: PCI: endpoint: Fix PCI domain ID release in pci_epc_destroy()
In the Linux kernel, the following vulnerability has been resolved:
PCI: endpoint: Fix PCI domain ID release in pci_epc_destroy()
pci_epc_destroy() invokes pci_bus_release_domain_nr() to release the PCI
domain ID, but there are two issues:
- 'epc->dev' is passed to pci_bus_release_domain_nr() which was already
freed by device_unregister(), leading to a use-after-free issue.
- Domain ID corresponds to the EPC device parent, so passing 'epc->dev'
is also wrong.
Fix these issues by passing 'epc->dev.parent' to
pci_bus_release_domain_nr() and also do it before device_unregister().
[mani: reworded subject and description]
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel use-after-free flaw in PCI endpoint cleanup. A local low-privileged user could potentially trigger serious confidentiality, integrity, and availability impact on affected systems. The source bundle does not show active exploitation.
Executive priority
Treat as high priority for affected Linux hosts, especially shared systems, appliances, or embedded platforms with local user access. It is not currently evidenced as exploited, so prioritize patching through normal high-severity kernel update processes.
Technical view
pci_epc_destroy() released a PCI domain ID using epc->dev after device_unregister() had freed it, and also used the wrong device for the domain. The fix releases the domain before unregistering and uses epc->dev.parent.
Likely exposure
Exposure appears limited to Linux systems running affected kernel versions with PCI endpoint controller code in use or reachable. The bundle lists Linux 6.12 through 6.13 affected, with stable kernel fix references. Distribution backports may change practical exposure.
Exploitation context
The CVSS vector is local, low complexity, low privileges, and no user interaction. KEV is false in the bundle, and no provided source states active exploitation or public exploit availability.
Researcher notes
Key issue is object lifetime and incorrect parent device use in pci_epc_destroy(). Validate whether downstream kernels contain the fix, not just their version string. Evidence is limited to CVE metadata and upstream stable commits.
Mitigation direction
Apply a vendor kernel update that includes the referenced stable fixes.
Check Linux distribution advisories for backported fixed kernel packages.
Prioritize systems exposing PCI endpoint functionality or untrusted local users.
Limit local shell access on affected systems until patched.
Track vendor guidance if no packaged fix is available.
Validation and detection
Inventory kernel versions across Linux fleets.
Map vendor packages to the referenced stable fix commits.
Check whether PCI endpoint controller drivers are enabled or loaded.
Confirm updated systems boot the fixed kernel.
Run existing regression tests for PCI endpoint workloads where applicable.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-416: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
3Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-416 · source CWE mapping
Use After Free
Use After Free represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.