KernelScan.io

HIGH Introduced in 5.12

nvme-rdma CleanupOrder UAF

CVE-2026-98154

CVSS 7.0 / 10.0 NVD

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI7.0HIGH

01

In the Linux kernel, the following vulnerability has been resolved: nvme-rdma: fix -EIO cleanup order in queue_rq On -EIO, the RDMA queue_rq path reports a host path error and then still cleans up the command and unmaps the SQE DMA. The path error helper completes the request, so that is double cleanup and DMA unmap after the request is already complete. Unmap the SQE first, then report the host path error. Skip the outer command cleanup on that path.

02

Engine v0.6.0

Risk summary

Systems using NVMe over RDMA storage may experience kernel memory corruption when an RDMA path error occurs during I/O submission. A local process with access to the NVMe-oF block device can trigger this, potentially leading to privilege escalation or system crash. The vulnerability requires the NVMe-oF RDMA driver to be loaded with an active RDMA connection configured.

Affecteddrivers/nvme/host/rdma.c (nvme-rdma)

Vulnerability analysis

In the NVMe over RDMA driver, when an RDMA send fails during I/O submission, the error handling path completes the I/O request to the block layer and then continues to clean up command state and DMA mappings for that already-completed request. Because the request may have been freed or reused after completion, this double cleanup can corrupt kernel memory. The fix reorders the cleanup so DMA resources are released before the request is completed, and skips the now-unnecessary command cleanup on the error path. A local process with access to an NVMe over RDMA block device can trigger this when the underlying RDMA connection encounters a path error.

03

BranchIntroducedFixed inPatch commit
5.155.125.15.222ccf37fff526c
6.15.126.1.189c2459519b395
6.125.126.12.111a41e7fc8d244
6.185.126.18.53cf3e706963ff
6.65.126.6.158965804b20c0f
7.25.127.2.7171b993a4aed
mainline5.127.3d61828199c6c
cip/6.15.126.1.189-cip61c2459519b395
cip/6.1-rt5.126.1.189-cip61-rt32c2459519b395
cip/6.125.126.12.111-cip32a41e7fc8d244

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.111-cip32
cip/6.1Fixed in 6.1.189-cip61
cip/6.1-rtFixed in 6.1.189-cip61-rt32