LiveActive security incident?Get immediate response
CVE Record

CVE-2026-23348: cxl: Fix race of nvdimm_bus object when creating nvdimm objects

In the Linux kernel, the following vulnerability has been resolved: cxl: Fix race of nvdimm_bus object when creating nvdimm objects Found issue during running of cxl-translate.sh unit test. Adding a 3s sleep right before the test seems to make the issue reproduce fairly consistently. The cxl_translate module has dependency on cxl_acpi and causes orphaned nvdimm objects to reprobe after cxl_acpi is removed. The nvdimm_bus object is registered by the cxl_nvb object when cxl_acpi_probe() is called. With the nvdimm_bus object missing, __nd_device_register() will trigger NULL pointer dereference when accessing the dev->parent that points to &nvdimm_bus->dev. [ 192.884510] BUG: kernel NULL pointer dereference, address: 000000000000006c [ 192.895383] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS edk2-20250812-19.fc42 08/12/2025 [ 192.897721] Workqueue: cxl_port cxl_bus_rescan_queue [cxl_core] [ 192.899459] RIP: 0010:kobject_get+0xc/0x90 [ 192.924871] Call Trace: [ 192.925959] <TASK> [ 192.926976] ? pm_runtime_init+0xb9/0xe0 [ 192.929712] __nd_device_register.part.0+0x4d/0xc0 [libnvdimm] [ 192.933314] __nvdimm_create+0x206/0x290 [libnvdimm] [ 192.936662] cxl_nvdimm_probe+0x119/0x1d0 [cxl_pmem] [ 192.940245] cxl_bus_probe+0x1a/0x60 [cxl_core] [ 192.943349] really_probe+0xde/0x380 This patch also relies on the previous change where devm_cxl_add_nvdimm_bridge() is called from drivers/cxl/pmem.c instead of drivers/cxl/core.c to ensure the dependency of cxl_acpi on cxl_pmem. 1. Set probe_type of cxl_nvb to PROBE_FORCE_SYNCHRONOUS to ensure the driver is probed synchronously when add_device() is called. 2. Add a check in __devm_cxl_add_nvdimm_bridge() to ensure that the cxl_nvb driver is attached during cxl_acpi_probe(). 3. Take the cxl_root uport_dev lock and the cxl_nvb->dev lock in devm_cxl_add_nvdimm() before checking nvdimm_bus is valid. 4. Set cxl_nvdimm flag to CXL_NVD_F_INVALIDATED so cxl_nvdimm_probe() will exit with -EBUSY. The removal of cxl_nvdimm devices should prevent any orphaned devices from probing once the nvdimm_bus is gone. [ dj: Fixed 0-day reported kdoc issue. ] [ dj: Fix cxl_nvb reference leak on error. Gregory (kreview-0811365) ]

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

CVE-2026-23348 is a Linux kernel race condition in CXL persistent-memory handling. Under specific CXL/NVDIMM module timing, the kernel can reference a missing bus object and hit a NULL pointer dereference. The source indicates a crash-style availability risk, not data theft or remote code execution.

Executive priority

Treat this as a targeted Linux kernel availability issue. Prioritize patch validation for infrastructure using CXL or persistent memory, but do not escalate as internet-wide emergency based on the supplied evidence.

Technical view

The issue occurs when cxl_translate depends on cxl_acpi, causing orphaned nvdimm objects to reprobe after cxl_acpi removal. Without nvdimm_bus, __nd_device_register() dereferences dev->parent through nvdimm_bus->dev. Kernel fixes add synchronous probing, attachment validation, locking, invalidation, and orphan prevention.

Likely exposure

Exposure appears limited to Linux systems using CXL persistent-memory/libnvdimm paths or test/virtual environments exercising those modules. The source lists Linux as affected, but does not provide distribution package mappings or hardware prevalence.

Exploitation context

The issue was found during cxl-translate.sh unit testing and made reproducible by timing changes. No KEV listing is present, and the supplied sources do not state active exploitation, public exploit availability, or remote attackability.

Researcher notes

The public record lacks CVSS, CWE, exploit status, and distribution-specific affected ranges. Analysis should focus on the CXL ACPI, cxl_pmem, and libnvdimm object-lifetime race fixed by the stable commits.

Mitigation direction

  • Apply kernel updates containing the referenced stable fixes when available for your distribution.
  • Check Linux vendor advisories for exact affected package versions and backport status.
  • Prioritize systems using CXL, NVDIMM, or persistent-memory kernel modules.
  • If updates are unavailable, review vendor guidance before disabling related modules.

Validation and detection

  • Inventory kernels and identify systems with CXL or NVDIMM support enabled.
  • Compare installed kernel builds against distribution advisories for CVE-2026-23348.
  • Confirm whether referenced stable commits are included or backported.
  • Review kernel logs for CXL/NVDIMM probe failures or NULL pointer dereference traces.
Prepared
Confidence
medium
Sources
5

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2026-23348 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
3Timeline events
0ADP providers
4Source links

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux8fdcb1704f61a8fd9be0f3849a174d084def0666, 8fdcb1704f61a8fd9be0f3849a174d084def0666, 8fdcb1704f61a8fd9be0f3849a174d084def0666unaffected
LinuxLinux5.14, 0, 6.18.17, 6.19.7, 7.0affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.