CVE-2026-22998CWE-476

CVE-2026-22998

High · published January 25, 2026

CVSS v3.1
7.5
EPSS
1%
Percentile
55.4
In the wild
Unconfirmed
What it is

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

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00778 · 55.4th percentile
Weakness
CWE-476 · NULL Pointer Dereference
Published
2026-01-25T20:15Z
Affected products (12)
ProductVersionsFixed in
linux/linux_kernel≥ 5.4.268, < 5.55.5
linux/linux_kernel≥ 5.10.209, < 5.10.2495.10.249
linux/linux_kernel≥ 5.15.148, < 5.15.1995.15.199
linux/linux_kernel≥ 6.1.75, < 6.1.1626.1.162
linux/linux_kernel≥ 6.6.14, < 6.6.1226.6.122
linux/linux_kernel≥ 6.7.2, < 6.12.676.12.67
linux/linux_kernel≥ 6.13, < 6.18.76.18.7
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (7)
EPSS history
Timeline
  • 25 JAN 14:36Z
    nvme-tcp: fix NULL pointer dereferences in nvmet_tcp_build_pdu_iovec
    cvelistv5