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

nvmet-rdma: handle inline data with a nonzero offset

nvmet_rdma_use_inline_sg() maps the host-controlled inline data offset
into the per-command inline scatterlist. The bounds check admits any
offset with off + len <= inline_data_size, but the mapping still assumes
the data begins in the first inline page:

sg->offset = off;
sg->length = min_t(int, len, PAGE_SIZE - off);

When a port is configured with inline_data_size > PAGE_SIZE (settable up
to max(SZ_16K, PAGE_SIZE)), an offset in (PAGE_SIZE, inline_data_size]
makes "PAGE_SIZE - off" underflow, so sg->length is set to ~4 GiB and
the block backend reads far past the first inline page. num_pages(len)
also ignores the offset, so an in-bounds offset whose [off, off+len)
span crosses a page boundary under-counts the scatterlist.

Map the offset properly: split it into a page index and an in-page
offset, start the scatterlist at that page, and size the page count from
page_off + len. Because the request scatterlist may now start at
inline_sg[page_idx] rather than inline_sg[0], generalize the inline-SGL
identity test in nvmet_rdma_release_rsp() to a range test; otherwise the
persistent inline scatterlist is mistaken for an allocated one and
nvmet_req_free_sgls() frees an inline page (and warns in
free_large_kmalloc()).
Published: 2026-08-15
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel’s NVMe‑RDMA implementation incorrectly handles inline data offsets. Although the bounds check allows any offset where off+len ≤ inline_data_size, the mapping logic assumes the data starts on the first inline page. When inline_data_size exceeds a page and an offset falls between PAGE_SIZE and inline_data_size, the length computation underflows, causing sg->length to become a large value that reads far beyond the intended buffer. The scatter‑list counting also ignores the offset, leading an out‑of‑bounds read to corrupt the scatter list and result in a kernel memory read past the allocated page. Such out‑of‑bounds access can expose sensitive kernel memory or trigger a crash.

Affected Systems

All Linux kernel builds that include the nvmet‑rdma subsystem and accept NVMe over RDMA requests are affected, regardless of distribution. The vulnerability exists in any kernel revision that has not incorporated the code changes referenced in the remediation patch series.

Risk and Exploitability

With no publicly disclosed exploit, the EPSS score is < 1% and the vulnerability is not listed in the CISA KEV catalog. The CVSS score of 9.8 indicates critical severity. The flaw permits an out‑of‑bounds memory read in kernel space, which is a high‑severity weakness. The likely attack vector is an attacker gaining the ability to send malformed NVMe‑RDMA requests; this inference is based on the fact that the vulnerability resides in the NVMe‑RDMA command handling path. The read beyond the intended buffer could expose sensitive kernel memory or trigger a kernel crash, potentially leading to a denial‑of‑service. At this time, exploitation would require the attacker to influence inline offset values in the RDMA requests; the extent to which this could lead to privilege escalation is not documented in the CVE description.

Generated by OpenCVE AI on August 18, 2026 at 02:12 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest Linux kernel release that contains the nvmet‑rdma patch, as reviewed in the cited Git revisions.
  • If an update is not immediately possible, configure the system so that inline_data_size is equal to or less than PAGE_SIZE, preventing offsets that would trigger the underflow.
  • Where feasible, disable the nvme‑rdma transport or block devices that rely on it until the kernel patch can be applied.

Generated by OpenCVE AI on August 18, 2026 at 02:12 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 18 Aug 2026 00:15:00 +0000

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

None

threat_severity

Moderate


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

Type Values Removed Values Added
Metrics cvssV3_1

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


Sat, 15 Aug 2026 20:30:00 +0000

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

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

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: nvmet-rdma: handle inline data with a nonzero offset nvmet_rdma_use_inline_sg() maps the host-controlled inline data offset into the per-command inline scatterlist. The bounds check admits any offset with off + len <= inline_data_size, but the mapping still assumes the data begins in the first inline page: sg->offset = off; sg->length = min_t(int, len, PAGE_SIZE - off); When a port is configured with inline_data_size > PAGE_SIZE (settable up to max(SZ_16K, PAGE_SIZE)), an offset in (PAGE_SIZE, inline_data_size] makes "PAGE_SIZE - off" underflow, so sg->length is set to ~4 GiB and the block backend reads far past the first inline page. num_pages(len) also ignores the offset, so an in-bounds offset whose [off, off+len) span crosses a page boundary under-counts the scatterlist. Map the offset properly: split it into a page index and an in-page offset, start the scatterlist at that page, and size the page count from page_off + len. Because the request scatterlist may now start at inline_sg[page_idx] rather than inline_sg[0], generalize the inline-SGL identity test in nvmet_rdma_release_rsp() to a range test; otherwise the persistent inline scatterlist is mistaken for an allocated one and nvmet_req_free_sgls() frees an inline page (and warns in free_large_kmalloc()).
Title nvmet-rdma: handle inline data with a nonzero offset
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:40:41.114Z

Reserved: 2026-08-09T03:40:39.907Z

Link: CVE-2026-72129

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:21:30.320

Modified: 2026-08-17T06:18:12.533

Link: CVE-2026-72129

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-72129 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T02:15:04Z

Weaknesses
  • CWE-125

    Out-of-bounds Read

  • CWE-129

    Improper Validation of Array Index

  • CWE-190

    Integer Overflow or Wraparound