CVE-2026-53042: Linux Kernel CXL fwctl NULL Pointer Dereference on Device Removal
A flaw in the Linux kernel's fwctl subsystem can cause the system to crash when removing certain devices. The issue stems from a module initialization ordering problem: the CXL driver loads before fwctl and tries to register devices before fwctl is ready, leaving internal data structures uninitialized. When those devices are later removed, the kernel attempts to clean up the uninitialized structures, triggering a crash. This affects systems using Compute Express Link (CXL) devices.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- CWE-824
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-24 / 2026-07-14
NVD description (verbatim)
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.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-53042 is a NULL pointer dereference vulnerability in the Linux kernel's fwctl subsystem caused by module initialization ordering. The CXL PCI driver (linked before fwctl in drivers/Makefile) calls fwctl_register() during probe, but fwctl_class is not yet initialized because fwctl_init() has not executed. During device_add(), class_to_subsys() returns NULL, causing knode_class to remain uninitialized. On device removal, class_to_subsys() now returns non-NULL, and device_del() invokes klist_del() on the uninitialized knode structure, resulting in a NULL pointer dereference.
Business impact
Systems experiencing this vulnerability may encounter unexpected kernel panics and crashes during CXL device removal operations, such as hot-unplug events or system shutdown. This reduces system availability and reliability, particularly problematic in data center and enterprise environments where CXL memory expansion is deployed. The crash occurs only on device removal, so it does not affect normal operational stability until devices are disconnected or the system reboots.
Affected systems
The Linux kernel is affected across versions containing the vulnerable fwctl and CXL subsystem integration. Systems with Compute Express Link (CXL) memory or device expansion hardware are at risk. This primarily impacts modern server platforms and data center systems where CXL is actively used. Desktop and older server systems without CXL hardware are not affected.
Exploitability
This vulnerability requires local access and the ability to remove or hot-unplug a CXL device. It is not remotely exploitable. An unprivileged local user can trigger the crash by removing a CXL device, resulting in a denial-of-service condition. The vulnerability is triggered through standard OS device management operations, not through crafted input or exploitation of a logic flaw—any device removal on affected systems will reliably trigger the crash.
Remediation
Apply the kernel patch that reorders module initialization so fwctl initializes before CXL attempts device registration, or ensures proper synchronization between the subsystems. Verify and test the fix in a staging environment before deploying to production systems. As an interim mitigation, avoid hot-plugging or removing CXL devices on affected kernels if possible.
Patch guidance
Consult your Linux distribution's security advisories and kernel release notes for patched versions. Apply kernel updates as they become available through your distribution's package manager. Test patched kernels in a non-production environment with CXL hardware present to confirm device removal operations complete without crashes before rolling out to production.
Detection guidance
Monitor kernel logs and system messages for NULL pointer dereference panics, particularly those referencing fwctl, device_del(), or klist_del(). Kernel crash dumps will show a stack trace involving class_to_subsys() and device removal code paths. Enable verbose logging of device add/remove operations if CXL devices are present. Automated log analysis tools can alert on these specific panic signatures.
Why prioritize this
Although rated MEDIUM severity, this vulnerability should be prioritized for systems actively using CXL hardware in production environments where device removal or planned maintenance is anticipated. The guaranteed reproducibility on affected systems, combined with the operational impact of kernel crashes during device management, justifies timely patching. Non-CXL systems can defer patching with lower risk.
Risk score, explained
The CVSS 3.1 score of 5.5 (MEDIUM) reflects high availability impact but limited scope and attack surface. Local access is required, and the attack vector is limited to the administrative action of device removal. The vulnerability does not compromise confidentiality or integrity; impact is strictly denial-of-service through kernel crash. The score appropriately penalizes availability but acknowledges the access requirements and limited attack surface.
Frequently asked questions
Will this vulnerability affect systems without CXL hardware?
No. Systems without Compute Express Link devices installed are not vulnerable because the fwctl subsystem is only exercised during CXL device registration and removal. Standard server and desktop systems without CXL expansion hardware will not trigger the vulnerable code path.
Can this be exploited remotely?
No, this is strictly a local vulnerability. An attacker must have access to the system and the ability to remove a CXL device, either physically or through local device management commands. Remote exploitation is not possible.
Does the system crash immediately on boot if CXL devices are present?
No. The crash only occurs during device removal. Systems boot and operate normally with CXL devices present. The vulnerable code path is only hit when a CXL device is hot-unplugged or removed during shutdown, so the system may run for months without experiencing the crash if device removal never occurs.
What versions of the Linux kernel are affected?
Verify the affected kernel version range in your distribution's security advisory, as the vulnerability exists in kernels containing both the CXL and fwctl subsystems with the ordering issue. Consult your kernel maintainer's release notes for the exact versions and available patches.
This analysis is provided for informational purposes to support vulnerability management and risk assessment. The vulnerability details, affected products, CVSS score, and KEV status are derived from authoritative sources including NVD and vendor advisories. Readers should verify patch availability and compatibility in their specific environment before deploying updates. SEC.co does not provide warranty regarding the completeness or applicability of this analysis to any particular system configuration. Organizations should conduct their own risk assessment and testing prior to implementing any remediation. Source: NVD (public-domain), retrieved 2026-08-01. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-47320MEDIUMrlottie Memory Safety Vulnerability – Uninitialized Pointer & Recursion Flaw
- CVE-2026-47908HIGHAdobe Dreamweaver Uninitialized Pointer Code Execution Vulnerability
- CVE-2025-71313MEDIUMLinux Kernel PCI Endpoint NULL Pointer Dereference
- CVE-2025-71314MEDIUMLinux Panthor GPU Driver Denial of Service via Cache Flush Timeout
- CVE-2025-71315MEDIUMLinux Kernel vkms DRM Vblank Timer Denial of Service
- CVE-2026-0268MEDIUMPrisma Access Agent Linux VPN Bypass Vulnerability
- CVE-2026-10004MEDIUMChrome UI Spoofing Vulnerability – Password Dialog Hijacking
- CVE-2026-10018MEDIUMInteger Overflow in Chrome ANGLE GPU Graphics Layer