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

nvme-pci: fix out-of-bounds access in nvme_setup_descriptor_pools

nvme_setup_descriptor_pools() indexes dev->descriptor_pools[] using the
numa_node forwarded from hctx->numa_node by its single caller,
nvme_init_hctx_common(). On a non-NUMA kernel hctx->numa_node is
NUMA_NO_NODE (-1). Because the parameter was declared 'unsigned', the
value becomes UINT_MAX and the index walks off the array (sized to
nr_node_ids), faulting during nvme_alloc_ns() and leaving the namespace
without a /dev node.

Reproduces on any NVMe controller probed by a CONFIG_NUMA=n kernel:

BUG: unable to handle page fault for address: ffff889101603d38
RIP: 0010:nvme_init_hctx_common+0x5a/0x190 [nvme]
Call Trace:
nvme_init_hctx+0x10/0x20 [nvme]
nvme_alloc_ns+0x9e/0xa10 [nvme_core]
nvme_scan_ns+0x301/0x3b0 [nvme_core]
nvme_scan_ns_async+0x23/0x30 [nvme_core]

Switch the parameter to int and fall back to node 0 when it is
NUMA_NO_NODE; node 0 is always present.
Published: 2026-08-15
Score: 8.4 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is an out‑of‑bounds array access in the NVMe PCI driver. During device initialization the driver uses the hctx->numa_node value to index the dev->descriptor_pools array. On a non‑NUMA kernel the value is NUMA_NO_NODE (-1); because the variable is declared unsigned it overflows to UINT_MAX, causing the index to exceed the array bounds. This produces a page fault during namespace allocation, leading to a kernel crash and leaving the NVMe namespace without a /dev node. The flaw is an out‑of‑bounds array index caused by unsigned conversion of a negative value.

Affected Systems

All Linux kernels that include the NVMe PCI driver prior to the commit that changes the numa_node parameter type to int and adds bounds checking are affected. The issue appears on kernels built without NUMA support (CONFIG_NUMA=n) that still load the NVMe driver. Any distribution that uses such a kernel will encounter the crash when an NVMe controller is probed, regardless of vendor.

Risk and Exploitability

The CVSS score of 8.4 indicates high severity, while the EPSS score of < 1 % shows that the flaw is unlikely to be actively exploited at this time. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires an attacker to trigger namespace allocation by probing an NVMe device, which is a local activity. The likely attack vector is local privilege but the description only confirms a local crash; no remote exploitation path is described. The low exploitation probability suggests a measured approach, yet the high impact warrants immediate remediation.

Generated by OpenCVE AI on August 22, 2026 at 01:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that includes commit 3e8aed5e which changes numa_node to int and adds bounds checking.
  • Rebuild or install a kernel package that incorporates the patch and ensure it is the default boot entry.
  • If a kernel upgrade is not immediately possible, disable or unload the nvme driver or disconnect NVMe devices to prevent the kernel crash until the patch is applied.

Generated by OpenCVE AI on August 22, 2026 at 01:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-122
CWE-190

Fri, 21 Aug 2026 00:15:00 +0000

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

None

threat_severity

Moderate


Mon, 17 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-122
CWE-190

Mon, 17 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-120

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Sat, 15 Aug 2026 13:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-120

Sat, 15 Aug 2026 06:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: nvme-pci: fix out-of-bounds access in nvme_setup_descriptor_pools nvme_setup_descriptor_pools() indexes dev->descriptor_pools[] using the numa_node forwarded from hctx->numa_node by its single caller, nvme_init_hctx_common(). On a non-NUMA kernel hctx->numa_node is NUMA_NO_NODE (-1). Because the parameter was declared 'unsigned', the value becomes UINT_MAX and the index walks off the array (sized to nr_node_ids), faulting during nvme_alloc_ns() and leaving the namespace without a /dev node. Reproduces on any NVMe controller probed by a CONFIG_NUMA=n kernel: BUG: unable to handle page fault for address: ffff889101603d38 RIP: 0010:nvme_init_hctx_common+0x5a/0x190 [nvme] Call Trace: nvme_init_hctx+0x10/0x20 [nvme] nvme_alloc_ns+0x9e/0xa10 [nvme_core] nvme_scan_ns+0x301/0x3b0 [nvme_core] nvme_scan_ns_async+0x23/0x30 [nvme_core] Switch the parameter to int and fall back to node 0 when it is NUMA_NO_NODE; node 0 is always present.
Title nvme-pci: fix out-of-bounds access in nvme_setup_descriptor_pools
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-08-17T05:46:33.114Z

Reserved: 2026-08-15T05:44:03.890Z

Link: CVE-2026-74383

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:22:40.170

Modified: 2026-08-17T06:19:33.183

Link: CVE-2026-74383

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-74383 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T01:30:17Z

Weaknesses