CVEvulnerability

CVE-2025-38072

5.5 MEDIUM Published 2025-06-18 Modified 2026-06-17 Official page ↗
Status
Analyzed
Published
2025-06-18
Last modified
2026-06-17
Assigner
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS 3.1 ([email protected])
5.5 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-908

Description

In the Linux kernel, the following vulnerability has been resolved: libnvdimm/labels: Fix divide error in nd_label_data_init() 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:nd_label_data_init+0x10e/0x800 [libnvdimm] Code and flow: 1) CXL Command 4000h returns LSA size = 0 2) config_size is assigned to zero LSA size (CXL pmem driver): drivers/cxl/pmem.c: .config_size = mds->lsa_size, 3) max_xfer is set to zero (nvdimm driver): drivers/nvdimm/label.c: max_xfer = min_t(size_t, ndd->nsarea.max_xfer, config_size); 4) A subsequent DIV_ROUND_UP() causes a division by zero: drivers/nvdimm/label.c: /* Make our initial read size a multiple of max_xfer size */ drivers/nvdimm/label.c: read_size = min(DIV_ROUND_UP(read_size, max_xfer) * max_xfer, drivers/nvdimm/label.c- config_size); Fix this by checking the config size parameter by extending an existing check.

Affected configurations

• linux linux kernel (< 5.4.294) • linux linux kernel (>= 5.5 < 5.10.238) • linux linux kernel (>= 5.11 < 5.15.185) • linux linux kernel (>= 5.16 < 6.1.141) • linux linux kernel (>= 6.2 < 6.6.93) • linux linux kernel (>= 6.7 < 6.12.31) • linux linux kernel (>= 6.13 < 6.14.9) • debian debian linux 11.0

Related

Weakness · CWE (1)

  • CWE-908 Use of Uninitialized Resource weakness

References