LiveActive security incident?Get immediate response
CVE Record

CVE-2026-64071: nvme-pci: fix use-after-free in nvme_free_host_mem()

In the Linux kernel, the following vulnerability has been resolved: nvme-pci: fix use-after-free in nvme_free_host_mem() nvme_free_host_mem() frees dev->hmb_sgt via dma_free_noncontiguous() but never clears the pointer afterward. This leads to a use-after-free if nvme_free_host_mem() is called twice in the same error path. This can happen during nvme_probe() when nvme_setup_host_mem() succeeds in allocating the HMB (setting dev->hmb_sgt) but nvme_set_host_mem() fails with an I/O error: nvme_setup_host_mem() nvme_alloc_host_mem_single() -> sets dev->hmb_sgt nvme_set_host_mem() -> fails with -EIO nvme_free_host_mem() -> frees hmb_sgt, but does NOT NULL it return error nvme_probe() error path: nvme_free_host_mem() -> dev->hmb_sgt is stale, use-after-free The second call dereferences the freed sgt, causing a NULL pointer dereference in iommu_dma_free_noncontiguous() when it accesses sgt->sgl->dma_address (the backing memory has been freed and zeroed). This is reproducible on Thunderbolt-attached NVMe devices (e.g., OWC Envoy Express behind a Dell WD22TB4 dock) where the device intermittently returns I/O errors during HMB setup due to PCIe link instability. BUG: kernel NULL pointer dereference, address: 0000000000000010 RIP: 0010:iommu_dma_free_noncontiguous+0x22/0x80 Call Trace: <TASK> dma_free_noncontiguous+0x3b/0x130 nvme_free_host_mem+0x30/0xf0 [nvme] nvme_probe.cold+0xcc/0x275 [nvme] local_pci_probe+0x43/0xa0 pci_device_probe+0xeea/0x290 really_probe+0xf9/0x3b0 __driver_probe_device+0x8b/0x170 driver_probe_device+0x24/0xd0 __driver_attach_async_helper+0x6b/0x110 async_run_entry_fn+0x37/0x170 process_one_work+0x1ac/0x3d0 worker_thread+0x1b8/0x360 kthread+0xf7/0x130 ret_from_fork+0x2d8/0x3a0 ret_from_fork_asm+0x1a/0x30 </TASK> Fix this by setting dev->hmb_sgt to NULL after freeing it, so the second call takes the multi-descriptor path which safely handles the already-cleaned-up state.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

CVE-2026-64071 is a Linux kernel nvme-pci bug that can crash the kernel during NVMe device setup failures. It is tied to host memory buffer cleanup being run twice. The reported reproduction involves Thunderbolt-attached NVMe storage with intermittent PCIe link errors. No source indicates active exploitation.

Executive priority

Treat as a targeted stability and availability issue. Patch during the next normal kernel maintenance window, sooner for fleets using Thunderbolt-attached NVMe or systems where unexpected kernel crashes materially affect operations.

Technical view

nvme_free_host_mem() frees dev->hmb_sgt but leaves a stale pointer. If nvme_setup_host_mem() succeeds and nvme_set_host_mem() then fails, nvme_probe() can call cleanup again, causing use-after-free and a NULL pointer dereference in iommu_dma_free_noncontiguous(). Stable kernel commits clear the pointer after freeing.

Likely exposure

Exposure appears limited to Linux systems using the nvme-pci driver with NVMe host memory buffer behavior, especially external or Thunderbolt-attached NVMe devices that can fail during setup. The provided affected-version data is incomplete and should be validated against vendor kernel packages.

Exploitation context

The source describes a reliability-triggered kernel crash during device probing, not a demonstrated attacker exploit. KEV is false, and no cited source reports exploitation in the wild. Practical triggering may require local or physical influence over affected NVMe hardware conditions.

Researcher notes

The record lacks CVSS, CWE, and precise affected range semantics. The core condition is double cleanup after HMB allocation succeeds and Set Host Memory fails. Avoid assuming remote exploitability; sources only support local hardware/error-path crash behavior.

Mitigation direction

  • Apply a kernel update containing the referenced stable nvme-pci fixes.
  • Check your Linux distribution advisory for the backported fix status.
  • Prioritize systems using Thunderbolt or external NVMe storage.
  • Reduce reliance on unstable Thunderbolt NVMe paths until patched, where operationally feasible.

Validation and detection

  • Identify Linux hosts using nvme-pci and NVMe host memory buffer capable devices.
  • Verify installed kernels include one of the referenced stable commits or vendor backport.
  • Review kernel logs for nvme_probe, nvme_free_host_mem, or iommu_dma_free_noncontiguous crashes.
  • Confirm distribution security trackers map CVE-2026-64071 to your kernel build.
Prepared
Confidence
medium
Sources
5

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-64071 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
Unknown
CVSS
Not scored
Known Exploited
No
Published
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.

0CVSS vectors
3Timeline events
0ADP providers
4Source links

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
LinuxLinux63a5c7a4b4c49ad86c362e9f555e6f343804ee1d, 63a5c7a4b4c49ad86c362e9f555e6f343804ee1d, 63a5c7a4b4c49ad86c362e9f555e6f343804ee1dunaffected
LinuxLinux6.13, 0, 6.18.34, 7.0.11, 7.1affected
Weakness

CWE details

No CWE listed

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