---
id: "CVE-2026-98726"
kind: "vulnerability"
aliases: ["CVE-2026-98726"]
title: "Linux kernel: NVMe multipath ANA log parsing can read past its buffer"
severity: "unknown"
cvss: null
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["kernel", "linux", "nvme", "runtime", "self-hosted", "storage"]
not_affected_if: ["no-nvme-multipath", "no-nvme-storage"]
published_at: "2026-10-18T16:17:26+00:00"
first_seen_at: "2026-10-23T21:57:16+00:00"
updated_at: "2026-10-25T05:17:20+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98726", "first_seen_at": "2026-10-23T21:57:16+00:00"}]
---

# Linux kernel: NVMe multipath ANA log parsing can read past its buffer

The Linux kernel's NVMe multipath code subtracts an untrusted object size from the ANA log buffer length, so an oversized value underflows and the parser reads beyond the buffer. The sources do not say what an attacker gets beyond an out-of-bounds read.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Run `uname -r` and compare against the fixed kernel builds listed in the NVD entry.
- Check whether the `nvme_core` module is loaded with `lsmod | grep nvme` and whether multipath is in use (`cat /sys/module/nvme_core/parameters/multipath`).

## Fix

- Update the Linux kernel to a build that includes the upstream nvme-multipath ANA log bounds fix (version unknown from the sources; see the NVD entry).

## Timeline

- 2026-10-23T21:57:16+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-98726

## From the sources

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

nvme-multipath: fix underflow in ANA log bounds checks

The number of ANA groups advertised through Identify Controller sizes the
ANA log buffer. The ANA log header and group descriptors independently
supply the number of groups and namespace IDs to parse.

Both bounds checks subtract an untrusted object size from ana_log_size
before comparing the current offset. If the object is larger than the
buffer, the size_t subtraction underflows and lets the parser read beyond
ana_log_buf.

Check the current offset before the first subtraction and compare each
object size with the remaining buffer instead. This rejects inconsistent
ANA data before dereferencing a truncated group descriptor or walking an
oversized namespace ID array.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
