Description
In the Linux kernel, the following vulnerability has been resolved:

nvmet-tcp: fix page fragment cache leak in error path

In nvmet_tcp_alloc_queue(), when a connection is closed during the
allocation process (e.g., nvmet_tcp_set_queue_sock() returns -ENOTCONN),
the error handling jumps to out_destroy_sq and then to out_ida_remove
without draining the page fragment cache.

Although nvmet_tcp_free_cmd() is called in some error paths to release
individual page fragments, the underlying page cache reference held by
queue->pf_cache is never released. The first allocation using pf_cache
is the call to nvmet_tcp_alloc_cmd() for queue->connect, which happens
after ida_alloc() returns successfully. This results in a page leak each
time a connection fails during allocation, which could lead to memory
exhaustion over time if connections are repeatedly opened and closed.

Fix this by calling page_frag_cache_drain() before freeing the queue
structure in the out_ida_remove label.
Published: 2026-08-15
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel’s nvmet_tcp module, a bug caused page fragments allocated during connection setup to remain cached when a connection is aborted. Each failed connection retained a reference to page cache entries, producing a memory leak that could grow over time. The violation of resource integrity leads to potential exhaustion of system memory, ultimately reducing availability of the affected infrastructure.

Affected Systems

The vulnerability affects the nvmet_tcp component of the Linux kernel. All Linux kernel deployments that include the NVMe‑over‑TCP driver are susceptible; no specific kernel version is listed, so any kernel that has not yet received the patch is at risk.

Risk and Exploitability

The CVSS score of 5.5 indicates moderate severity, and the EPSS score of <1% suggests a low exploitation probability. The vulnerability is not listed in the CISA KEV catalog. An attacker who can repeatedly open and close NVMe‑over‑TCP connections could force memory exhaustion. The attack vector is inferred as remote, originating from a client that initiates and aborts connections to the target device.

Generated by OpenCVE AI on August 22, 2026 at 01:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the Linux kernel update that implements page_frag_cache_drain in nvmet_tcp
  • If an official kernel update is unavailable, disable the nvmet‑tcp driver or restrict its usage until the patch is applied
  • Apply the patch manually by cherry‑selecting the commit from the Linux kernel repository or by building a custom kernel that includes the fix

Generated by OpenCVE AI on August 22, 2026 at 01:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-401

Fri, 21 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-911
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Sat, 15 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-401

Sat, 15 Aug 2026 06:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: nvmet-tcp: fix page fragment cache leak in error path In nvmet_tcp_alloc_queue(), when a connection is closed during the allocation process (e.g., nvmet_tcp_set_queue_sock() returns -ENOTCONN), the error handling jumps to out_destroy_sq and then to out_ida_remove without draining the page fragment cache. Although nvmet_tcp_free_cmd() is called in some error paths to release individual page fragments, the underlying page cache reference held by queue->pf_cache is never released. The first allocation using pf_cache is the call to nvmet_tcp_alloc_cmd() for queue->connect, which happens after ida_alloc() returns successfully. This results in a page leak each time a connection fails during allocation, which could lead to memory exhaustion over time if connections are repeatedly opened and closed. Fix this by calling page_frag_cache_drain() before freeing the queue structure in the out_ida_remove label.
Title nvmet-tcp: fix page fragment cache leak in error path
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:18:24.557Z

Reserved: 2026-08-15T05:44:03.890Z

Link: CVE-2026-74386

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:22:40.513

Modified: 2026-08-17T06:19:33.570

Link: CVE-2026-74386

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-74386 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T01:30:17Z

Weaknesses
  • CWE-911

    Improper Update of Reference Count