Bug 2516731 (CVE-2026-72129) - CVE-2026-72129 kernel: nvmet-rdma: handle inline data with a nonzero offset
Summary: CVE-2026-72129 kernel: nvmet-rdma: handle inline data with a nonzero offset
Keywords:
Status: NEW
Alias: CVE-2026-72129
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-15 06:28 UTC by OSIDB Bzimport
Modified: 2026-10-09 07:12 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2026:64770 0 None None None 2026-09-08 01:49:41 UTC
Red Hat Product Errata RHSA-2026:65334 0 None None None 2026-09-08 11:35:31 UTC
Red Hat Product Errata RHSA-2026:66000 0 None None None 2026-09-09 14:12:34 UTC
Red Hat Product Errata RHSA-2026:66180 0 None None None 2026-09-09 22:04:56 UTC
Red Hat Product Errata RHSA-2026:79778 0 None None None 2026-10-09 07:12:53 UTC

Description OSIDB Bzimport 2026-08-15 06:28:10 UTC
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()).

Comment 5 errata-xmlrpc 2026-09-08 01:49:40 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:64770 https://access.redhat.com/errata/RHSA-2026:64770

Comment 6 errata-xmlrpc 2026-09-08 11:35:30 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 10

Via RHSA-2026:65334 https://access.redhat.com/errata/RHSA-2026:65334

Comment 7 errata-xmlrpc 2026-09-09 14:12:33 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:66000 https://access.redhat.com/errata/RHSA-2026:66000

Comment 8 errata-xmlrpc 2026-09-09 22:04:55 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:66180 https://access.redhat.com/errata/RHSA-2026:66180

Comment 11 Jon Orris 2026-10-09 07:12:52 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support
  Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On

Via RHSA-2026:79778 https://access.redhat.com/errata/RHSA-2026:79778


Note You need to log in before you can comment on or make changes to this bug.