Linux Kernel NVMe PCI Driver DMA Unmapping Vulnerability

Vulnerability

A vulnerability in the Linux kernel's NVMe PCI driver relates to improper handling of device DMA unmapping requirements, which can lead to a NULL dereference. This issue arises when the initial state of 'dma_needs_unmap' changes mid-iteration, particularly when SWIOTLB is enabled. The driver must allocate and save mapped DMA vectors for later unmapping, rather than assuming they were pre-allocated. The vulnerability affects the Linux kernel stable tree.

Impact

Exploitation of this vulnerability causes a NULL dereference, leading to a crash or instability in the system.

Reproduction

The vulnerability can be reproduced by using the NVMe PCI driver with a device that has dynamic DMA unmapping requirements. This can be simulated by enabling SWIOTLB, which alters the DMA unmapping behavior. During the data iteration process, the driver will encounter an uninitialized DMA vector, causing a NULL dereference.

Remediation

Users can upgrade to the latest version of the Linux kernel stable tree, where this vulnerability has been addressed.

Added: Feb 14, 2026, 5:39 PM
Updated: Feb 14, 2026, 5:39 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
3.9
remediation
7.7
relevance
3.0
threat
4.8
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.