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

libnvdimm/labels: Prevent integer overflow in __nd_label_validate()

The on-media namespace index field nslot is a u32 read from the DIMM
label storage area. __nd_label_validate() bounds it against the config
area size, but sizeof_namespace_label() returns unsigned, so the product
nslot * label_size is evaluated in 32-bit and wraps modulo 2^32 before
the comparison. A crafted nslot passes the bound and is then used as the
loop trip count in nd_label_data_init(), whose memset() walks off the end
of the config_size buffer: an out-of-bounds write.

The field is not trusted -- it comes from the medium, or from userspace
via ND_CMD_SET_CONFIG_DATA. Evaluate the product in 64-bit so the bound
check is exact; conforming labels are unaffected.

The check was safe when introduced by commit 4a826c83db4e ("libnvdimm:
namespace indices: read and validate"): it multiplied by sizeof(struct
nd_namespace_label), a size_t, so on a 64-bit build the product did not
wrap. Commit 564e871aa66f ("libnvdimm, label: add v1.2 nvdimm label
definitions") narrowed it to 32 bits when the label size became a runtime
value read via sizeof_namespace_label().
Published: 2026-09-11
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Kernel memory corruption
Action: Patch
AI Analysis

Impact

An integer overflow in the __nd_label_validate() function of the libnvdimm subsystem causes the product of the on‑media namespace index field nslot and the label size to wrap in 32‑bit arithmetic, allowing a crafted index to pass a bound check during namespace label initialization. This failure permits a loop count to exceed the size of the configuration buffer, resulting in an out‑of‑bounds write. The field nslot is sourced from medium storage or from userspace via ND_CMD_SET_CONFIG_DATA, so any malicious or malformed input may trigger the overflow. The resulting kernel memory corruption could lead to privilege escalation or denial of service.

Affected Systems

The vulnerability affects all Linux kernel builds that include the libnvdimm subsystem before the 64‑bit bound check introduced in commit 564e871. Kernel configurations that enable NVDIMM handling are potentially impacted. The CVE data does not list any specific affected kernel versions, so all builds incorporating libnvdimm without the patch may be vulnerable.

Risk and Exploitability

The CVSS score of 6.0 denotes a medium severity vulnerability. EPSS score is less than 1%, indicating a very low exploitation probability, and the flaw is not listed in the CISA KEV catalog. Exploitation would likely require local access to the system or a user that can issue NVDIMM configuration commands. The potential for kernel memory corruption makes this a noteworthy risk, but current data does not indicate that the vulnerability is actively exploited in the wild.

Generated by OpenCVE AI on September 13, 2026 at 04:57 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the 64‑bit bound check (commit 564e871).
  • If an immediate update is not feasible, disable the libnvdimm namespace parsing disabling NVDIMM support in the kernel configuration.
  • If disabling the subsystem is impractical, restrict access to NVDIMM configuration by ensuring that only trusted media labels are written and that any ND_CMD_SET_CONFIG_DATA calls are authenticated.

Generated by OpenCVE AI on September 13, 2026 at 04:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 13 Sep 2026 06:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 6.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:H/A:H'}

cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sat, 12 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-787
References
Metrics threat_severity

None

cvssV3_1

{'score': 6.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:H/A:H'}

threat_severity

Moderate


Fri, 11 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: libnvdimm/labels: Prevent integer overflow in __nd_label_validate() The on-media namespace index field nslot is a u32 read from the DIMM label storage area. __nd_label_validate() bounds it against the config area size, but sizeof_namespace_label() returns unsigned, so the product nslot * label_size is evaluated in 32-bit and wraps modulo 2^32 before the comparison. A crafted nslot passes the bound and is then used as the loop trip count in nd_label_data_init(), whose memset() walks off the end of the config_size buffer: an out-of-bounds write. The field is not trusted -- it comes from the medium, or from userspace via ND_CMD_SET_CONFIG_DATA. Evaluate the product in 64-bit so the bound check is exact; conforming labels are unaffected. The check was safe when introduced by commit 4a826c83db4e ("libnvdimm: namespace indices: read and validate"): it multiplied by sizeof(struct nd_namespace_label), a size_t, so on a 64-bit build the product did not wrap. Commit 564e871aa66f ("libnvdimm, label: add v1.2 nvdimm label definitions") narrowed it to 32 bits when the label size became a runtime value read via sizeof_namespace_label().
Title libnvdimm/labels: Prevent integer overflow in __nd_label_validate()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-13T06:30:59.014Z

Reserved: 2026-09-11T19:38:34.724Z

Link: CVE-2026-89559

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-11T20:19:39.673

Modified: 2026-09-13T07:17:22.047

Link: CVE-2026-89559

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-11T19:44:31Z

Links: CVE-2026-89559 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T05:00:12Z

Weaknesses