GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel (drivers/pci/endpoint): Pci_epc_destroy() releases the PCI domain ID using a device object it has already

CVE-2024-56561Kernel, userspace & hypervisorcurated

Impact

Pci_epc_destroy() releases the PCI domain ID using a device object it has already unregistered and freed, so the domain-ID release runs against freed memory. Beyond the use-after-free itself, it releases the WRONG domain ID (the EPC's rather than its parent's), corrupting the kernel's domain-number allocator for every controller that follows.

Who can reach it

Endpoint mode required: the machine must run a PCIe endpoint controller with the EPC core registered. Reached when the EPC is destroyed - controller driver unbind or module unload, which is host root. Not tenant-reachable and inert on a normal GPU host; it matters on DPU/smartNIC style devices that run Linux as the endpoint and whose controller drivers get reloaded.

What to do

Update to 6.12 or later, or take the stable commits below. Interim: avoid unbinding or unloading PCIe endpoint controller drivers on a running system; reboot instead.

References

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.