CVE-2025-38072: libnvdimm/labels: Fix divide error in nd_label_data_init()
In the Linux kernel, the following vulnerability has been resolved:
libnvdimm/labels: Fix divide error in ndlabeldatainit()
If a faulty CXL memory device returns a broken zero LSA size in its memory device information (Identify Memory Device (Opcode 4000h), CXL spec. 3.1, 8.2.9.9.1.1), a divide error occurs in the libnvdimm driver:
Oops: divide error: 0000 [#1] PREEMPT SMP NOPTI RIP: 0010:ndlabeldatainit+0x10e/0x800 [libnvdimm]
Code and flow:
1) CXL Command 4000h returns LSA size = 0 2) configsize is assigned to zero LSA size (CXL pmem driver):
drivers/cxl/pmem.c: .configsize = mds->lsasize,
3) maxxfer is set to zero (nvdimm driver):
drivers/nvdimm/label.c: maxxfer = mint(sizet, ndd->nsarea.maxxfer, configsize);
4) A subsequent DIVROUNDUP() causes a division by zero:
drivers/nvdimm/label.c: / Make our initial read size a multiple of maxxfer size / drivers/nvdimm/label.c: readsize = min(DIVROUNDUP(readsize, maxxfer) maxxfer, drivers/nvdimm/label.c- configsize);
Fix this by checking the config size parameter by extending an existing check.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1
Event History
Frequently Asked Questions
What is the severity of CVE-2025-38072?
CVE-2025-38072 has been assigned a high severity rating due to its potential to cause divide errors in the Linux kernel.
How do I fix CVE-2025-38072?
To fix CVE-2025-38072, you should update your Linux kernel to the latest stable version where the vulnerability has been patched.
Which versions of the Linux kernel are affected by CVE-2025-38072?
CVE-2025-38072 affects various versions of the Linux kernel, specifically those that utilize libnvdimm functionality.
What is the impact of CVE-2025-38072 on system functionality?
The impact of CVE-2025-38072 can lead to application crashes or system instability due to the divide error triggered by faulty CXL memory devices.
Is there a workaround for CVE-2025-38072 if I cannot update immediately?
Currently, there are no known effective workarounds for CVE-2025-38072; updating the kernel is the recommended mitigation.