CVE-2023-54323

Source
https://cve.org/CVERecord?id=CVE-2023-54323
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-54323.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-54323
Downstream
Published
2025-12-30T12:37:07.656Z
Modified
2025-12-30T20:32:14.767498Z
Summary
cxl/pmem: Fix nvdimm registration races
Details

In the Linux kernel, the following vulnerability has been resolved:

cxl/pmem: Fix nvdimm registration races

A loop of the form:

while true; do modprobe cxl_pci; modprobe -r cxl_pci; done

...fails with the following crash signature:

BUG: kernel NULL pointer dereference, address: 0000000000000040
[..]
RIP: 0010:cxl_internal_send_cmd+0x5/0xb0 [cxl_core]
[..]
Call Trace:
 <TASK>
 cxl_pmem_ctl+0x121/0x240 [cxl_pmem]
 nvdimm_get_config_data+0xd6/0x1a0 [libnvdimm]
 nd_label_data_init+0x135/0x7e0 [libnvdimm]
 nvdimm_probe+0xd6/0x1c0 [libnvdimm]
 nvdimm_bus_probe+0x7a/0x1e0 [libnvdimm]
 really_probe+0xde/0x380
 __driver_probe_device+0x78/0x170
 driver_probe_device+0x1f/0x90
 __device_attach_driver+0x85/0x110
 bus_for_each_drv+0x7d/0xc0
 __device_attach+0xb4/0x1e0
 bus_probe_device+0x9f/0xc0
 device_add+0x445/0x9c0
 nd_async_device_register+0xe/0x40 [libnvdimm]
 async_run_entry_fn+0x30/0x130

...namely that the bottom half of async nvdimm device registration runs after the CXL has already torn down the context that cxlpmemctl() needs. Unlike the ACPI NFIT case that benefits from launching multiple nvdimm device registrations in parallel from those listed in the table, CXL is already marked PROBEPREFERASYNCHRONOUS. So provide for a synchronous registration path to preclude this scenario.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/54xxx/CVE-2023-54323.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
21083f51521fb0f60dbac591f175c3ed48435af4
Fixed
a371788d4f4a7f59eecd22644331d599979fd283
Fixed
18c65667fa9104780eeaa0dc1bc240f0c2094772
Fixed
f57aec443c24d2e8e1f3b5b4856aea12ddda4254

Affected versions

v5.*
v5.13
v5.13-rc6
v5.13-rc7
v5.14
v5.14-rc1
v5.14-rc2
v5.14-rc3
v5.14-rc4
v5.14-rc5
v5.14-rc6
v5.14-rc7
v5.15
v5.15-rc1
v5.15-rc2
v5.15-rc3
v5.15-rc4
v5.15-rc5
v5.15-rc6
v5.15-rc7
v5.16
v5.16-rc1
v5.16-rc2
v5.16-rc3
v5.16-rc4
v5.16-rc5
v5.16-rc6
v5.16-rc7
v5.16-rc8
v5.17
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.17-rc5
v5.17-rc6
v5.17-rc7
v5.17-rc8
v5.18
v5.18-rc1
v5.18-rc2
v5.18-rc3
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.19
v5.19-rc1
v5.19-rc2
v5.19-rc3
v5.19-rc4
v5.19-rc5
v5.19-rc6
v5.19-rc7
v5.19-rc8
v6.*
v6.0
v6.0-rc1
v6.0-rc2
v6.0-rc3
v6.0-rc4
v6.0-rc5
v6.0-rc6
v6.0-rc7
v6.1
v6.1-rc1
v6.1-rc2
v6.1-rc3
v6.1-rc4
v6.1-rc5
v6.1-rc6
v6.1-rc7
v6.1-rc8
v6.1.1
v6.1.10
v6.1.11
v6.1.12
v6.1.13
v6.1.14
v6.1.15
v6.1.2
v6.1.3
v6.1.4
v6.1.5
v6.1.6
v6.1.7
v6.1.8
v6.1.9
v6.2
v6.2-rc1
v6.2-rc2
v6.2-rc3
v6.2-rc4
v6.2-rc5
v6.2-rc6
v6.2-rc7
v6.2-rc8
v6.2.1
v6.2.2

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-54323.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.14.0
Fixed
6.1.16
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.2.3

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-54323.json"