GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel CXL core: use-after-free of the parent port during endpoint detach

CVSS 7.8CVE-2026-31530Kernel, userspace & hypervisorcurated

Impact

cxl_detach_ep walks the port hierarchy during bottom-up removal and touches parent_port in two places where it may already be freed: once when a concurrent detach has processed the port first, and once after delete_switch_port cascades into unregistering the parent itself. With lock debugging on this is a mutex warning; on a production kernel it is a silent write to freed memory in the device-teardown path. On nodes that use CXL memory expansion to feed large-model workloads, a host panic or quiet corruption during memory-device removal costs the full job on that node. The fix establishes a lifetime rule - a child port now holds a reference to its parent.

Who can reach it

Local and privileged. Reaching it requires driving CXL port teardown: removing a CXL memory device, a hotplug event, or reloading cxl_acpi - the reporter reproduces it with a module reload in QEMU. Not reachable from a tenant pod or over the network.

What to do

Pick up a stable kernel with the listed commits (fixes landed across five branches). The change is in cxl_core and the bug lives in teardown, so a module reload is itself the dangerous path - drain the node and reboot onto the fixed kernel. Until then avoid cxl module reloads and CXL device hot-removal on production nodes.

References

Related entries

All Kernel, userspace & hypervisor entries

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.