* CVE-2026-80788: nvmet-tcp: Do not WARN on remotely-controlled oversized SGL allocations
@ 2026-09-04 15:11 Greg Kroah-Hartman
0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-09-04 15:11 UTC (permalink / raw)
To: linux-cve-announce; +Cc: Greg Kroah-Hartman
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-04 15:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-04 15:11 CVE-2026-80788: nvmet-tcp: Do not WARN on remotely-controlled oversized SGL allocations Greg Kroah-Hartman
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.