Database/Kernel, userspace & hypervisor
Linux kernel nvme-tcp: a controller can force a host WARN by answering a write with C2HData
Impact
nvme_tcp_handle_c2h_data() never checks that the named command actually asked to read data. A controller - or anyone who can impersonate one on the storage network - that answers a write command with a C2HData PDU drives the host into _copy_to_iter() and trips WARN_ON_ONCE(i->data_source). No data is copied, so this is not memory corruption; what the controller gets is a kernel warning it can raise at will, plus a controller reset each time. On hosts booted with panic_on_warn, which is common in fleets that want crash-on-anomaly behaviour, that warning is a remote node kill. GPU nodes that mount datasets or checkpoints over NVMe/TCP can be knocked out repeatedly by a single misbehaving or hostile target.
Who can reach it
Network, unauthenticated at the NVMe layer - anyone who can present as the NVMe/TCP controller the host connects to, which in practice means a compromised storage target or a position on the storage network path. No tenant credentials required; tenants inside a GPU pod cannot reach this directly.
What to do
Apply a stable kernel that rejects a C2HData PDU whose command is not a read. Kernel-image change: drain and reboot each NVMe/TCP client node. Until then, the exposure is bounded by keeping the storage network segregated from tenant traffic, and by not running NVMe/TCP hosts with panic_on_warn, which is what turns this from noise into an outage.
References
Related entries
- Linux iommu/vt-d: probe failure frees a PASID table still referenced by live context entriesCVE-2026-90241 · Linux kernel iommu/vt-d (scalable-mode context teardown on probe failure)High
- Linux kernel NVMe driver (FDP configurations log parsing): While walking the Flexible Data Placement configurationsCVE-2026-97433 · Linux kernel NVMe driver (FDP configurations log parsing)High
- Linux kernel x86/mm/pat: split page tables bypass kernel page table tracking, leaving stale IOTLB entries after freeCVE-2026-97525 · Linux kernel x86 CPA/PAT (__split_large_page kernel page table allocation)High
- KVM arm64: hypervisor stack pages left in the host stage-2 mappingCVE-2026-98466 · Linux kernel KVM arm64 (pKVM hyp per-CPU stack ownership)High
- libcurl: use-after-free when a TLS 1.3 session ticket arrives on a reused connectionCVE-2021-22901 · curl / libcurl (OpenSSL TLS 1.3 session ticket handling)High
- Linux kernel (net/tls): When a NIC with active kTLS offload goes down, the offload teardown freed the TLS context whileCVE-2021-47131 · Linux kernel (net/tls)High
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.