LiveActive security incident?Get immediate response
CVE Record

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

HighCVSS 7.5Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

CVE-2026-22998 is a Linux kernel availability flaw in the NVMe-over-TCP target path. A remote unauthenticated network peer may be able to crash an affected host if that host exposes the vulnerable nvmet-tcp service. The issue is high priority for storage servers, but likely irrelevant to systems that do not run NVMe/TCP target functionality.

Executive priority

Treat this as high priority for Linux storage infrastructure exposing NVMe/TCP. The business risk is service disruption through host crash. It should be remediated in storage maintenance windows, with network restriction used immediately where patching needs scheduling.

Technical view

The flaw is a NULL pointer dereference in nvmet_tcp_build_pdu_iovec(). Certain H2C_DATA PDUs can reach processing before the command scatter-gather or iovec structures are initialized, including before CONNECT, for READ commands, or for unused command slots. The upstream fix adds validation for both cmd->req.sg and cmd->iov before building the PDU iovec.

Likely exposure

Exposure is most likely on Linux systems configured as NVMe-over-TCP targets using nvmet-tcp and reachable from untrusted networks. Ordinary Linux endpoints without NVMe/TCP target service exposure are not clearly exposed based on the provided sources.

Exploitation context

The CVSS vector is network, low complexity, no privileges, no user interaction, with availability impact only. The source bundle does not show CISA KEV listing or cited evidence of active exploitation. The described outcome is kernel panic or denial of service, not code execution.

Researcher notes

The evidence supports denial of service through invalid H2C_DATA handling in nvmet-tcp. Both cmd->req.sg and cmd->iov checks matter because different command states leave different pointers uninitialized. The provided sources do not establish exploitation in the wild or impact beyond availability.

Mitigation direction

  • Apply a vendor kernel update containing the relevant stable nvmet-tcp fix.
  • Restrict NVMe/TCP target access to trusted storage networks only.
  • Disable nvmet-tcp target functionality where it is not required.
  • Check Linux distribution advisories for fixed package versions.
  • Prioritize externally reachable storage targets before isolated lab systems.

Validation and detection

  • Inventory systems acting as NVMe-over-TCP targets.
  • Confirm affected hosts are not reachable from untrusted networks.
  • Verify installed kernels include the relevant upstream stable fix.
  • Review kernel crash logs for nvmet_tcp_build_pdu_iovec NULL pointer dereferences.
  • Track vendor advisories for package-level fixed versions.
Prepared
Confidence
high
Sources
9

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.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.5 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

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.

1CVSS vectors
3Timeline events
0ADP providers
8Source links

CVSS vector scores

1 official score

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.

ScoreVersionSeverityVectorExploitImpactSource
7.5CVSS 3.1HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H3.93.6Linux

Vulnerability scoring details

Base CVSS 3.1 score

7.5High
CVSS 3.1 vector shape for CVE-2026-22998Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinuxf775f2621c2ac5cc3a0b3a64665dad4fb146e510, 4cb3cf7177ae3666be7fb27d4ad4d72a295fb02d, 2871aa407007f6f531fae181ad252486e022df42, 24e05760186dc070d3db190ca61efdbce23afc88, efa56305908ba20de2104f1b8508c6a7401833be, efa56305908ba20de2104f1b8508c6a7401833be, efa56305908ba20de2104f1b8508c6a7401833be, ee5e7632e981673f42a50ade25e71e612e543d9d, 70154e8d015c9b4fb56c1a2ef1fc8b83d45c7f68, 5.10.209, 5.15.148, 6.1.75, 6.6.14, 5.4.268, 6.7.2unaffected
LinuxLinux6.8, 0, 5.10.249, 5.15.199, 6.1.162, 6.6.122, 6.12.67, 6.18.7, 6.19affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.