7.5
HIGH CVSS 3.1
CVE-2026-22998
nvme-tcp: fix NULL pointer dereferences in nvmet_tcp_build_pdu_iovec
Description

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

INFO

Published Date :

Jan. 25, 2026, 3:15 p.m.

Last Modified :

March 18, 2026, 4:26 p.m.

Remotely Exploit :

Yes !

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-22998 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Linux linux_kernel
CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and displays CVSS scores from various sources for each CVE.
Score Version Severity Vector Exploitability Score Impact Score Source
CVSS 3.1 MEDIUM [email protected]
CVSS 3.1 HIGH [email protected]
Solution
Apply kernel patches to validate pointers before use, preventing NULL pointer dereferences.
  • Update the Linux kernel to the latest secure version.
  • Apply specific commits that fix pointer validation issues.
  • Ensure command structures are initialized before processing PDUs.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-22998 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-22998 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-22998 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-22998 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • Reanalysis by [email protected]

    Mar. 18, 2026

    Action Type Old Value New Value
    Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
    Removed CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
  • Initial Analysis by [email protected]

    Feb. 26, 2026

    Action Type Old Value New Value
    Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
    Added CWE CWE-476
    Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.13 up to (excluding) 6.18.7 *cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.10.209 up to (excluding) 5.10.249 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.15.148 up to (excluding) 5.15.199 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.4.268 up to (excluding) 5.5 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.1.75 up to (excluding) 6.1.162 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.6.14 up to (excluding) 6.6.122 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7.2 up to (excluding) 6.12.67
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/32b63acd78f577b332d976aa06b56e70d054cbba Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/374b095e265fa27465f34780e0eb162ff1bef913 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/3def5243150716be86599c2a1767c29c68838b6d Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/76abc83a9d25593c2b7613c549413079c14a4686 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/7d75570002929d20e40110d6b03e46202c9d1bc7 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/baabe43a0edefac8cd7b981ff87f967f6034dafe Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/fdecd3b6aac10d5a18d0dc500fe57f8648b66cd4 Types: Patch
  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Feb. 06, 2026

    Action Type Old Value New Value
    Added Reference https://git.kernel.org/stable/c/76abc83a9d25593c2b7613c549413079c14a4686
    Added Reference https://git.kernel.org/stable/c/7d75570002929d20e40110d6b03e46202c9d1bc7
    Added Reference https://git.kernel.org/stable/c/baabe43a0edefac8cd7b981ff87f967f6034dafe
  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jan. 30, 2026

    Action Type Old Value New Value
    Added Reference https://git.kernel.org/stable/c/fdecd3b6aac10d5a18d0dc500fe57f8648b66cd4
  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jan. 25, 2026

    Action Type Old Value New Value
    Added Description 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
    Added Reference https://git.kernel.org/stable/c/32b63acd78f577b332d976aa06b56e70d054cbba
    Added Reference https://git.kernel.org/stable/c/374b095e265fa27465f34780e0eb162ff1bef913
    Added Reference https://git.kernel.org/stable/c/3def5243150716be86599c2a1767c29c68838b6d
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.