GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel CXL: MCE notifier outlives its memory device, giving NULL deref and use-after-free

UnscoredCVE-2026-89570Kernel, userspace & hypervisorcurated

Impact

The CXL machine-check notifier was registered per memory device and stored in struct cxl_memdev_state even though it only needs region state, so its lifetime did not match the objects it dereferences. The reported result is NULL pointer dereferences and use-after-free inside the MCE handler - code that runs when the platform reports a memory error, precisely the moment an operator least wants the host to fall over in an unpredictable way. On hosts using CXL memory expansion behind GPU nodes, a correctable-error storm from a flaky device can now take the host down or corrupt memory rather than being logged and handled.

Who can reach it

Not a remote or tenant-driven path. Triggered by machine-check events on a host with CXL devices, in combination with device teardown or hotplug that frees the endpoint state the notifier still references. Physical or administrative control of CXL device presence is what drives it.

What to do

Take the stable kernel update that moves the notifier into struct cxl_region and registers it from cxl_region_probe() only for regions with an extended linear cache. Rolling it out means draining and rebooting the affected hosts. Hosts with no CXL memory devices are not exposed and can be deferred. The record gives three stable commits and no fixed release numbers.

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.