All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-cve-announce@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@kernel.org>
Subject: CVE-2026-80788: nvmet-tcp: Do not WARN on remotely-controlled oversized SGL allocations
Date: Fri,  4 Sep 2026 17:11:27 +0200	[thread overview]
Message-ID: <2026090406-CVE-2026-80788-c2b2@gregkh> (raw)

From: Greg Kroah-Hartman <gregkh@kernel.org>

Description
===========

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

nvmet-tcp: Do not WARN on remotely-controlled oversized SGL allocations

When fuzzing the nvme target code, I tripped a kernel warning in
nvmet_tcp_map_data() because the length passed into the allocator is
controlled by the remote initiator.

A remote initiator that sends a command with an SGL claiming a huge
number, can create a scatterlist and iovec allocation of over 1 million
entries, which causes the backing kmalloc call to exceed MAX_PAGE_ORDER
and then the page allocator will trip on a WARN_ON_ONCE_GFP() message:

  WARNING: mm/page_alloc.c:5280 __alloc_frozen_pages_noprof
  Workqueue: nvmet_tcp_wq nvmet_tcp_io_work
  ...
  sgl_alloc_order
  nvmet_tcp_map_data
  nvmet_tcp_try_recv_pdu

As it's never good to trip a kernel warning remotely due to many systems
having panic-on-warn enabled, let's silence it by just add GFP_NOWARN to
the allocation flags.

The Linux kernel CVE team has assigned CVE-2026-80788 to this issue.


Affected and fixed versions
===========================

	Fixed in 5.10.267 with commit 8d01f0d0e96485e39ad89b859ef85e1dc3020465
	Fixed in 5.15.218 with commit 7b6a54d4e7b0da423c2b53ed293fd36b16c0b19e
	Fixed in 6.1.185 with commit e7077e6c45423dd2bb7de7b5fc4b018a8e6c4741
	Fixed in 6.6.154 with commit 86cc450022473c4a29b43a09f3ec22a9ef566dac
	Fixed in 6.12.106 with commit c509f20be1cabda3087810bb2d658d66b3f31f35
	Fixed in 6.18.47 with commit 9c95f7e66c62ee6c6abedcf1c04311f430ff5833
	Fixed in 7.1.11 with commit 7fd6da0f28932442b51658bac4ff55565ca9b377
	Fixed in 7.2.1 with commit 9b770e40bc00381e5ebf53653de5776773415be3
	Fixed in 7.3-rc1 with commit 737a3b535247226f6e1a7988fd9d6e63e7d6fc71

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-80788
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/nvme/target/tcp.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/8d01f0d0e96485e39ad89b859ef85e1dc3020465
	https://git.kernel.org/stable/c/7b6a54d4e7b0da423c2b53ed293fd36b16c0b19e
	https://git.kernel.org/stable/c/e7077e6c45423dd2bb7de7b5fc4b018a8e6c4741
	https://git.kernel.org/stable/c/86cc450022473c4a29b43a09f3ec22a9ef566dac
	https://git.kernel.org/stable/c/c509f20be1cabda3087810bb2d658d66b3f31f35
	https://git.kernel.org/stable/c/9c95f7e66c62ee6c6abedcf1c04311f430ff5833
	https://git.kernel.org/stable/c/7fd6da0f28932442b51658bac4ff55565ca9b377
	https://git.kernel.org/stable/c/9b770e40bc00381e5ebf53653de5776773415be3
	https://git.kernel.org/stable/c/737a3b535247226f6e1a7988fd9d6e63e7d6fc71

                 reply	other threads:[~2026-09-04 15:16 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2026090406-CVE-2026-80788-c2b2@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=cve@kernel.org \
    --cc=gregkh@kernel.org \
    --cc=linux-cve-announce@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.