CVE-2023-54323
Use-After-Free Race Condition in Linux Kernel cxl_pmem NVDIMM Registration
Publication date: 2025-12-30
Last updated on: 2025-12-30
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | libnvdimm | * |
| linux | cxl_core | * |
| linux | cxl_pmem | * |
| linux | linux_kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a race condition in the Linux kernel's cxl/pmem subsystem related to nvdimm device registration. Specifically, repeatedly loading and unloading the cxl_pci module can cause a kernel crash due to a NULL pointer dereference. The issue arises because the asynchronous registration of nvdimm devices happens after the CXL context they depend on has been torn down, leading to a use-after-free or invalid memory access. The fix involves providing a synchronous registration path to avoid this race condition.
How can this vulnerability impact me? :
This vulnerability can cause the Linux kernel to crash (kernel panic) when the cxl_pci module is repeatedly loaded and unloaded. Such crashes can lead to system instability, downtime, and potential data loss or corruption if the system is in use during the crash.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by running a loop that repeatedly loads and unloads the cxl_pci module and observing if the system crashes with a kernel NULL pointer dereference. For example, the command: while true; do modprobe cxl_pci; modprobe -r cxl_pci; done can be used to test for the crash signature described.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation involves avoiding the repeated loading and unloading of the cxl_pci module to prevent triggering the race condition and kernel crash. Applying the patch or update that fixes the nvdimm registration races in the Linux kernel is the recommended long-term solution.