CVE-2025-38072
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2025
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
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 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.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 7d47aad4570e5e6e9a8162bb417ca9b74132f27c | affected | git | 2bd4a938d2eda96ab7288b8fa5aae84a1de8c4ca | Unavailable | None listed |
| 7d47aad4570e5e6e9a8162bb417ca9b74132f27c | affected | git | 396c46d3f59a18ebcc500640e749f16e197d472b | Unavailable | None listed |
| 7d47aad4570e5e6e9a8162bb417ca9b74132f27c | affected | git | f49c337037df029440a8390380dd35d2cf5924d3 | Unavailable | None listed |
| 7d47aad4570e5e6e9a8162bb417ca9b74132f27c | affected | git | db1aef51b8e66a77f76b1250b914589c31a0a0ed | Unavailable | None listed |
| 7d47aad4570e5e6e9a8162bb417ca9b74132f27c | affected | git | ea3d95e05e97ea20fd6513f647393add16fce3b2 | Unavailable | None listed |
| 7d47aad4570e5e6e9a8162bb417ca9b74132f27c | affected | git | 1d1e1efad1cf049e888bf175a5c6be85d792620c | Unavailable | None listed |
| 7d47aad4570e5e6e9a8162bb417ca9b74132f27c | affected | git | e14347f647ca6d76fe1509b6703e340f2d5e2716 | Unavailable | None listed |
| 7d47aad4570e5e6e9a8162bb417ca9b74132f27c | affected | git | ef1d3455bbc1922f94a91ed58d3d7db440652959 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 4.20 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 4.20 | Unavailable | None listed |
| 5.4.294 | unaffected | semver | Unavailable | 5.4.* | None listed |
| 5.10.238 | unaffected | semver | Unavailable | 5.10.* | None listed |
| 5.15.185 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.141 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.93 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.31 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.14.9 | unaffected | semver | Unavailable | 6.14.* | None listed |
| 6.15 | unaffected | original_commit_for_fix | Unavailable | * | None listed |