CVE-2026-53042
NoneCVSS
—
EPSS
0.2%
Published
Jun 24, 2026
CISA due date
—
Cloudanix analysis
Some Linux systems can crash when certain high-speed memory expansion hardware is removed or reset, potentially interrupting services until the system is updated.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
This Linux kernel flaw is a NULL pointer dereference caused by driver initialization ordering between the CXL PCI driver and the fwctl subsystem. If a CXL PCI device is registered with fwctl before the fwctl class is fully initialized, an internal kernel list node associated with the device class may remain uninitialized. When the device is later removed, unbound, or otherwise deleted, the kernel can attempt to remove that uninitialized node and dereference a NULL pointer, resulting in a kernel crash or system instability. The primary security impact is denial of service rather than data theft or privilege escalation.
Why it matters to the business
Affected Linux systems using CXL-related PCI functionality may crash during device removal or driver lifecycle events, causing service interruption, workload disruption, and possible host reboots. The risk is most relevant for servers, virtualization hosts, high-performance computing systems, and infrastructure using CXL-capable hardware or kernels with the affected fwctl and CXL driver code. This issue is not currently listed in CISA KEV, is not known to be used in ransomware campaigns, has very low EPSS, and has no reported exploit maturity, so broad internet-scale exploitation is unlikely; however, environments with CXL hardware or frequent PCI hotplug, bind, unbind, or driver reload operations should prioritize validation and kernel updates.
How an attack unfolds
An attacker would need a way to influence CXL PCI device lifecycle events on a vulnerable Linux system. In a typical scenario, the system boots or loads drivers in an order where the CXL PCI driver initializes before the fwctl class is registered. During CXL PCI probing, the device is registered through fwctl, but the class linkage is incomplete because fwctl initialization has not yet finished. Later, if the CXL device is removed, unbound from its driver, hot-unplugged, or otherwise passed through a deletion path, the kernel attempts to clean up class-related list state that was never initialized. This can trigger a NULL pointer dereference in the kernel and crash the host. Practical exploitation generally requires local administrative control, physical or management-plane control over PCI/CXL device removal, or a workload capable of causing the affected device removal path to execute.
How to fix it
Apply a Linux kernel update that includes the fwctl initialization-ordering fix for this vulnerability. Because no specific affected product list or fixed package versions were provided, use the fixed kernel versions from the relevant Linux distribution, appliance vendor, cloud image provider, or kernel maintainer. Prioritize systems with CXL-capable hardware, systems using experimental or newer kernel CXL/fwctl functionality, hosts that support PCI hotplug, and environments where devices are frequently bound, unbound, reset, or removed. If immediate patching is not possible, reduce exposure by avoiding unnecessary CXL device hotplug/removal operations, restricting access to driver bind/unbind interfaces under sysfs, limiting module unload/reload capabilities to trusted administrators, and scheduling maintenance windows for any required PCI/CXL lifecycle operations.
How to confirm the fix worked
Confirm that the running kernel build includes the vendor patch for the fwctl class initialization ordering issue. Validate both the installed kernel package and the active booted kernel, since Linux hosts may have patched packages installed but still be running an older kernel until rebooted. On relevant systems, review loaded modules and hardware inventory for CXL and fwctl usage. Where safe and approved, test in a non-production environment by exercising CXL device probe and removal paths and confirming that device removal no longer produces kernel oops, panic, NULL pointer dereference, or klist_del-related errors. Also verify that access to PCI driver bind, unbind, remove, and module management interfaces is limited to trusted administrative users.
Typical attack path
- Identify a Linux system running an affected kernel with CXL PCI and fwctl support enabled.
- Confirm that CXL PCI device probing can occur before fwctl class initialization completes.
- Cause or wait for registration of a CXL PCI device through the affected fwctl path.
- Trigger device removal, driver unbind, hot-unplug, module unload, reset, or another path that calls device deletion for the affected device.
- The kernel attempts to delete an uninitialized class list node and dereferences a NULL pointer.
- The system experiences a kernel oops, panic, crash, or service interruption.
How to detect it
Review kernel, system, and crash logs for evidence of prior kernel crashes during CXL PCI device removal or driver unbind events. Useful sources include journalctl kernel logs, /var/log/kern.log, /var/log/messages, /var/log/syslog, pstore records, kdump/vmcore analysis, crash dump directories, hardware management logs, and audit logs for sysfs driver bind/unbind activity. Look for kernel oops or panic records mentioning NULL pointer dereference together with fwctl, cxl_pci, device_del, class_to_subsys, klist_del, or device removal. Correlate crash timestamps with PCI hotplug events, CXL device resets, module unloads, driver unbinds, firmware update operations, and administrator actions against /sys/bus/pci/drivers. Because this issue causes denial of service and does not inherently create attacker-controlled files, accounts, or network traffic, exploitation artifacts are expected to be limited mainly to kernel crash logs and device lifecycle events.
- BUG: kernel NULL pointer dereference
- Oops: 0000
- Kernel panic - not syncing
- NULL pointer dereference
- klist_del
- device_del
- class_to_subsys
- fwctl
- cxl_pci
- cxl_pci_probe
- fwctl_register
- /sys/bus/pci/drivers/*/unbind
- /sys/bus/pci/drivers/*/bind
- /sys/bus/pci/devices/*/remove
What your security team should do
- Inventory Linux systems running kernels with CXL and fwctl support, especially servers with CXL-capable PCIe hardware.
- Track vendor advisories and kernel package updates for this vulnerability and deploy the fixed kernel when available for each distribution or appliance.
- Reboot systems after applying kernel updates to ensure the fixed kernel is actually running.
- Prioritize patching for hosts where PCI/CXL devices can be hot-removed, reset, passed through, or frequently rebound to drivers.
- Restrict administrative access to sysfs driver bind/unbind controls, module unload operations, PCI hotplug controls, and hardware management interfaces.
- Monitor kernel logs for NULL pointer dereferences, kernel oopses, panics, or crashes involving fwctl, cxl_pci, device_del, class_to_subsys, or klist_del.
- Treat unexpected crashes of CXL-enabled Linux hosts as potentially security-relevant until kernel logs and device lifecycle events are reviewed.
The record
In the Linux kernel, the following vulnerability has been resolved: fwctl: Fix class init ordering to avoid NULL pointer dereference on device removal CXL is linked before fwctl in drivers/Makefile. Both use `module_init, so `cxl_pci_driver_init()` runs first. When `cxl_pci_probe()` calls `fwctl_register()` and then `device_add()`, fwctl_class is not yet registered because fwctl_init() hasn't run, causing `class_to_subsys()` to return NULL and skip knode_class initialization. On device removal, `class_to_subsys()` returns non-NULL, and `device_del()` calls `klist_del()` on the uninitialized knode, triggering a NULL pointer dereference.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|