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

nvmet: pci-epf: put CQ ref on create_cq mapping failure

nvmet_pci_epf_create_cq() calls nvmet_cq_create(), which takes a
reference on the controller and installs the completion queue. If the
subsequent PCI address-space mapping fails or returns a too-small partial
mapping, the function jumps to err_internal / err_unmap_queue without
calling nvmet_cq_put(). The matching put in nvmet_pci_epf_delete_cq() is
gated on NVMET_PCI_EPF_Q_LIVE, which is only set after the mapping
succeeds, so teardown never releases these references. A remote PCI host
that drives Create IO CQ commands with a failing PRP1/pci_addr therefore
leaks the CQ and a controller reference on each attempt.

Drop the CQ reference on the mapping-failure paths. The err_internal and
err_unmap_queue labels are only reachable after nvmet_cq_create() has
succeeded, so this pairs the create/put correctly.
Published: 2026-09-04
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel’s nvmet subsystem contains a bug in the nvmet_pci_epf_create_cq routine. When a Create IO CQ command from a remote PCI host fails to map the PCI address space, the function falls through error paths without releasing the reference to the completion queue and its controller. Each failed attempt therefore leaks kernel resources.

Affected Systems

All Linux kernel releases that have not yet incorporated the commit fixing nvmet_pci_epf_create_cq are affected. The flaw is specific to the NVMe over Fabrics PCI e‑PCI interface; any system that processes Create IO CQ requests from external PCI devices may see the impact.

Risk and Exploitability

Although the vulnerability is not listed in the CISA KEV catalog and no EPSS score is available, the leak can be triggered repeatedly by a remote PCI host that requests Create IO CQ commands. Repeated failures could exhaust kernel memory or reference counters, interrupting normal operation and yielding a denial of service on an exposed NVMe subsystem. Because the problem arises from a reference count mismatch, attack preparation requires only the ability to send malformed or failing commands to the target.

Generated by OpenCVE AI on September 4, 2026 at 17:24 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a version containing the nvmet_pci_epf_create_cq fix.
  • Disable or restrict the NVMe over Fabrics PCI e‑PCI feature so that only trusted PCI devices can issue Create IO CQ commands.
  • Monitor system resource usage for signs of leakage and apply kernel hardening limits if available.

Generated by OpenCVE AI on September 4, 2026 at 17:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 04 Sep 2026 17:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-401

Fri, 04 Sep 2026 15:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: nvmet: pci-epf: put CQ ref on create_cq mapping failure nvmet_pci_epf_create_cq() calls nvmet_cq_create(), which takes a reference on the controller and installs the completion queue. If the subsequent PCI address-space mapping fails or returns a too-small partial mapping, the function jumps to err_internal / err_unmap_queue without calling nvmet_cq_put(). The matching put in nvmet_pci_epf_delete_cq() is gated on NVMET_PCI_EPF_Q_LIVE, which is only set after the mapping succeeds, so teardown never releases these references. A remote PCI host that drives Create IO CQ commands with a failing PRP1/pci_addr therefore leaks the CQ and a controller reference on each attempt. Drop the CQ reference on the mapping-failure paths. The err_internal and err_unmap_queue labels are only reachable after nvmet_cq_create() has succeeded, so this pairs the create/put correctly.
Title nvmet: pci-epf: put CQ ref on create_cq mapping failure
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-09-04T15:29:15.738Z

Reserved: 2026-08-26T14:34:25.795Z

Link: CVE-2026-80821

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-04T16:18:09.857

Modified: 2026-09-04T16:18:09.857

Link: CVE-2026-80821

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T17:30:17Z

Weaknesses
  • CWE-401

    Missing Release of Memory after Effective Lifetime