Skip to main content
Vulnerability Database/CVE-2026-89559

CVE-2026-89559: Linux Kernel Buffer Overflow Vulnerability

CVE-2026-89559 is a buffer overflow flaw in the Linux kernel's libnvdimm labels subsystem that allows out-of-bounds writes through integer overflow. This article covers the technical details, affected versions, and mitigation steps.

Published:

CVE-2026-89559 Overview

CVE-2026-89559 is an integer overflow vulnerability in the Linux kernel's libnvdimm subsystem, specifically within the __nd_label_validate() function. The flaw allows a crafted nslot value read from DIMM label storage to bypass a size bound check because the product nslot * label_size is evaluated in 32-bit arithmetic and wraps modulo 2^32. The overflow enables an out-of-bounds write when nd_label_data_init() subsequently uses the value as a loop count, causing memset() to walk past the config_size buffer.

Critical Impact

A local attacker with the ability to supply crafted namespace label data — either through malicious media or via the ND_CMD_SET_CONFIG_DATA ioctl — can trigger an out-of-bounds kernel write, resulting in kernel memory corruption and potential privilege escalation.

Affected Products

  • Linux kernel versions containing commit 564e871aa66f ("libnvdimm, label: add v1.2 nvdimm label definitions") up to the patched revisions
  • Systems with NVDIMM (Non-Volatile DIMM) hardware and the libnvdimm subsystem enabled
  • Linux distributions shipping vulnerable kernel builds prior to the stable branch fixes

Discovery Timeline

  • 2026-09-11 - CVE-2026-89559 published to NVD
  • 2026-09-14 - Last updated in NVD database

Technical Details for CVE-2026-89559

Vulnerability Analysis

The defect resides in __nd_label_validate() in the Linux kernel libnvdimm/labels code. The on-media namespace index field nslot is a u32 value read directly from the DIMM label storage area. The function attempts to bound nslot against the configuration area size before using it as a loop trip count. However, sizeof_namespace_label() returns an unsigned 32-bit value, and the multiplication nslot * label_size is therefore computed in 32-bit arithmetic. Large values wrap modulo 2^32, so a crafted nslot can satisfy the bound while still representing an oversized allocation logically.

When nd_label_data_init() later iterates using this attacker-influenced value, the associated memset() writes past the end of the config_size buffer. This is an out-of-bounds write in kernel address space and constitutes a memory corruption primitive [CWE-190, CWE-787].

Root Cause

The original check introduced by commit 4a826c83db4e was safe because it multiplied against sizeof(struct nd_namespace_label), a size_t, which promotes the multiplication to 64-bit on 64-bit builds. Commit 564e871aa66f narrowed the label size to a runtime u32 value returned by sizeof_namespace_label(), silently regressing the arithmetic to 32-bit and re-introducing the overflow condition.

Attack Vector

The nslot field is not trusted. It originates from persistent DIMM media or from userspace through the ND_CMD_SET_CONFIG_DATA ioctl. A local user with sufficient privileges to invoke the NVDIMM control interface — or an attacker who can control the on-media namespace index — can supply a value engineered to wrap the 32-bit product. This bypasses the bounds check and drives the subsequent memset() beyond the intended buffer. The fix evaluates the product in 64-bit so the check is exact, and conforming labels remain unaffected. Detailed patch commits are available in the Linux Kernel Commit Fix and related stable branch references.

Detection Methods for CVE-2026-89559

Indicators of Compromise

  • Unexpected kernel oops, panic, or KASAN out-of-bounds write reports referencing nd_label_data_init or __nd_label_validate
  • Anomalous invocations of the ND_CMD_SET_CONFIG_DATA ioctl from unprivileged or unusual processes
  • Newly attached NVDIMM devices reporting malformed namespace index structures during boot or hotplug

Detection Strategies

  • Enable KASAN (Kernel Address Sanitizer) in test kernels to catch out-of-bounds writes originating from libnvdimm code paths
  • Audit kernel version banners across the fleet to identify hosts running unpatched kernels with NVDIMM support compiled in
  • Correlate ndctl and NVDIMM management tool activity with process ancestry to spot unexpected label-write attempts

Monitoring Recommendations

  • Ingest kernel logs (dmesg, journald) into a centralized log platform and alert on libnvdimm, nd_label, or KASAN messages
  • Monitor privileged ioctl activity against /dev/nmem* and /dev/ndctl* character devices
  • Track kernel package versions across Linux endpoints and servers to identify systems missing the fixed stable release

How to Mitigate CVE-2026-89559

Immediate Actions Required

  • Apply the fixed Linux kernel package from your distribution vendor as soon as stable builds incorporating the referenced commits are available
  • Restrict access to NVDIMM management interfaces (/dev/ndctl*, /dev/nmem*) to trusted administrative accounts only
  • Inventory systems with NVDIMM hardware to prioritize patching where the vulnerable code path is reachable

Patch Information

The fix evaluates the nslot * label_size product in 64-bit arithmetic so the bounds check is exact. Multiple stable branch patches have been published, including Linux Kernel Commit Update, Linux Kernel Commit Fix, Linux Kernel Commit Change, Linux Kernel Commit Improvement, Linux Kernel Commit Patch, Linux Kernel Commit Enhancement, Linux Kernel Commit Revision, and Linux Kernel Commit Adjustment.

Workarounds

  • Where NVDIMM functionality is not required, unload or blacklist the libnvdimm, nd_pmem, and related modules to remove the vulnerable code path
  • Enforce strict permissions on NVDIMM control device nodes and audit any userspace tooling that issues ND_CMD_SET_CONFIG_DATA
  • Physically and logically restrict which parties can attach or reprovision NVDIMM media on affected hosts

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.