GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux nvmet-tcp: remote initiator can trip a kernel WARN via an oversized SGL, killing panic-on-warn hosts

UnscoredCVE-2026-80788Kernel, userspace & hypervisorcurated

Impact

The NVMe-over-TCP target trusts the SGL length sent by the remote initiator and hands it straight to sgl_alloc_order(). An initiator that claims a huge transfer makes the target attempt a scatterlist and iovec allocation of over a million entries, exceeding MAX_PAGE_ORDER and tripping WARN_ON_ONCE_GFP() in the page allocator. On a storage node built with panic_on_warn set, which is common in hardened fleets, that WARN is an immediate panic taken remotely by anything that can open a TCP connection to the target. Losing an NVMe/TCP target takes storage away from every GPU node mounting it, not just the attacker's, so the blast radius is the whole shelf rather than one tenant. The fix only adds __GFP_NOWARN, so the oversized allocation still fails, it just fails quietly.

Who can reach it

Anyone who can reach the NVMe/TCP target port, typically the storage VLAN. NVMe/TCP targets are frequently exported with no authentication, so a compromised or hostile tenant node that reaches the storage network is enough.

What to do

Update to a stable kernel carrying the fix and reboot each storage target node; the kernel CNA lists five stable branch commits but no single fixed version string, so check the branch you run against the commits below. Until the reboot, restrict which hosts can reach the target port and consider clearing panic_on_warn on target nodes so the WARN degrades to a log line rather than a panic.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.