VYPR
Unrated severityNVD Advisory· Published Feb 14, 2026· Updated Apr 15, 2026

CVE-2026-23174

CVE-2026-23174

Description

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

nvme-pci: handle changing device dma map requirements

The initial state of dma_needs_unmap may be false, but change to true while mapping the data iterator. Enabling swiotlb is one such case that can change the result. The nvme driver needs to save the mapped dma vectors to be unmapped later, so allocate as needed during iteration rather than assume it was always allocated at the beginning. This fixes a NULL dereference from accessing an uninitialized dma_vecs when the device dma unmapping requirements change mid-iteration.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A NULL pointer dereference in nvme-pci occurs when DMA unmapping requirements change mid-iteration, requiring dynamic allocation of dma_vecs.

Vulnerability

Description

In the Linux kernel's NVMe PCIe driver (nvme-pci), a NULL pointer dereference vulnerability exists when the device's DMA map requirements change during data iterator mapping. The driver initially assumes that the dma_needs_unmap flag is constant, but certain configurations, such as enabling the swiotlb, can cause this flag to change from false to true mid-operation. When the flag transitions, the driver attempts to access dma_vecs—a dynamically allocated array for storing DMA mapping vectors—which may not have been allocated if the initial state was false.

Exploitation

Scenario

An attacker with local access or ability to influence DMA configuration (e.g., via device hotplug or kernel parameters that trigger swiotlb) could trigger this condition. The vulnerability does not require prior authentication beyond standard user access to trigger kernel operations. The race condition between the initial check of dma_needs_unmap and the actual mapping operation leads to an uninitialized pointer dereference.

Impact

Successful exploitation results in a NULL pointer dereference, causing a kernel panic (denial of service). In some environments, this could be leveraged for privilege escalation if the panic can be controlled or if memory corruption occurs. The impact is primarily system availability, with potential for information disclosure or escalation under specific kernel configurations.

Mitigation

The fix, introduced in a stable kernel commit [1], modifies the driver to allocate dma_vecs dynamically during iteration rather than assuming pre-allocation. This ensures that if the DMA unmapping requirement changes, memory is allocated on-demand. Users should apply the latest stable kernel updates that include commit 071be3b0b6575d45be9df9c5b612f5882bfc5e88.

AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

1

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

2

News mentions

0

No linked articles in our index yet.