CVE-2026-22998: nvme-tcp: fix NULL pointer dereferences in nvmet_tcp_build_pdu_iovec
In the Linux kernel, the following vulnerability has been resolved:
nvme-tcp: fix NULL pointer dereferences in nvmet_tcp_build_pdu_iovec
Commit efa56305908b ("nvmet-tcp: Fix a kernel panic when host sends an invalid H2C PDU length")
added ttag bounds checking and data_offset
validation in nvmet_tcp_handle_h2c_data_pdu(), but it did not validate
whether the command's data structures (cmd->req.sg and cmd->iov) have
been properly initialized before processing H2C_DATA PDUs.
The nvmet_tcp_build_pdu_iovec() function dereferences these pointers
without NULL checks. This can be triggered by sending H2C_DATA PDU
immediately after the ICREQ/ICRESP handshake, before
sending a CONNECT command or NVMe write command.
Attack vectors that trigger NULL pointer dereferences:
1. H2C_DATA PDU sent before CONNECT → both pointers NULL
2. H2C_DATA PDU for READ command → cmd->req.sg allocated, cmd->iov NULL
3. H2C_DATA PDU for uninitialized command slot → both pointers NULL
The fix validates both cmd->req.sg and cmd->iov before calling
nvmet_tcp_build_pdu_iovec(). Both checks are required because:
- Uninitialized commands: both NULL
- READ commands: cmd->req.sg allocated, cmd->iov NULL
- WRITE commands: both allocated
Security readout for executives and security teams
Plain-English summary
A remote, unauthenticated system can crash a vulnerable Linux NVMe-over-TCP storage target by sending data at an unexpected protocol stage. The demonstrated impact is service disruption, not data theft or modification. Risk is concentrated in systems operating the Linux NVMe/TCP target service and reachable by untrusted hosts.
Executive priority
Treat as a high-priority availability issue for exposed or business-critical NVMe/TCP storage targets. Patch those systems promptly and restrict network access immediately where updates require scheduling. Lower the priority for hosts confirmed not to provide NVMe/TCP target services. There is no supplied evidence of active exploitation or data compromise.
Technical view
The Linux nvmet-tcp target can pass uninitialized command pointers into nvmet_tcp_build_pdu_iovec. Crafted H2C_DATA PDUs may reach this path before CONNECT, against a READ command, or through an uninitialized command slot. Missing checks for cmd->req.sg and cmd->iov cause NULL-pointer dereferences and kernel panic. CVSS 3.1 is 7.5: remote, unauthenticated, low complexity, availability impact only.
Likely exposure
Likely exposure is limited to Linux hosts providing NVMe-over-TCP target functionality through nvmet-tcp. Network reachability materially increases risk. Hosts that do not enable this target service are unlikely to expose the vulnerable path. The supplied version data identifies affected releases but lacks clear range semantics, so distribution-specific package status should be verified.
Exploitation context
The source describes a remotely triggerable denial of service without privileges or user interaction. It documents several triggering protocol states, but provides no evidence of exploitation in the wild. CVE-2026-22998 is not identified as a CISA KEV entry in the supplied bundle. Confidentiality and integrity impacts are not claimed.
Researcher notes
Both cmd->req.sg and cmd->iov require validation because their initialization differs across uninitialized, READ, and WRITE command states. The issue is a kernel NULL-pointer dereference reachable through malformed or out-of-sequence H2C_DATA processing. The bundle supplies several stable-tree fixes, but its affected-version representation is ambiguous; validate backports using vendor advisories or commit inclusion rather than version assumptions alone.
Mitigation direction
Install a vendor-supported kernel update containing the referenced nvmet-tcp pointer-validation fix.
Prioritize reachable NVMe/TCP targets, especially storage infrastructure supporting critical workloads.
Restrict NVMe/TCP target access to explicitly authorized initiators and trusted network segments.
Disable unused NVMe/TCP target functionality until patched, following vendor operational guidance.
Validation and detection
Inventory hosts running kernels identified as affected in the CVE record.
Confirm whether nvmet-tcp target functionality is enabled or loaded on each host.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-22998 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.