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.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel-livepatch-6.18.35-68.127Upgrade kernel6.18-debuginfoUpgrade kernel6.18-debuginfo-common-aarch64Upgrade python3-perf6.18Upgrade bpftool6.18-debuginfoUpgrade bpftool6.18Upgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel6.18-develUpgrade kernel6.18-headersUpgrade perf6.18Upgrade kernel6.18-modules-extra-commonUpgrade kernel6.18-tools-debuginfoUpgrade microvm-kernel6.18Upgrade perf6.18-debuginfoUpgrade kernel6.18Upgrade kernel6.18-modules-extraUpgrade python3-perf6.18-debuginfoUpgrade kernel6.18-tools-develUpgrade kernel6.18-tools | Aug 10, 2026 | Jul 19, 2026 |
| Redhat_linux | — | No solution exists | Jul 21, 2026 | Jul 19, 2026 |
| Ubuntu | — | Upgrade linux-image-nvidia-7.0Upgrade linux-image-raspi-realtime-7.0Upgrade linux-image-7.0.0-1016-nvidiaUpgrade linux-image-ibm-7.0Upgrade linux-image-7.0.0-1010-azureUpgrade linux-image-oracle-7.0Upgrade linux-image-7.0.0-1009-azure-fdeUpgrade linux-image-7.0.0-1008-oracle-64kUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-7.0.0-2016-nvidia-bosUpgrade linux-image-nvidia-bos-7.0Upgrade linux-image-7.0.0-1009-aws-64kUpgrade linux-image-aws-64k-7.0Upgrade linux-image-aws-7.0Upgrade linux-image-azure-fde-7.0Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-7.0.0-1015-raspiUpgrade linux-image-7.0.0-1009-awsUpgrade linux-image-7.0.0-1015-raspi-realtimeUpgrade linux-image-gcp-7.0Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-nvidiaUpgrade linux-image-oracleUpgrade linux-image-7.0.0-2016-nvidia-bos-64kUpgrade linux-image-ibmUpgrade linux-image-nvidia-bosUpgrade linux-image-7.0.0-1010-ibmUpgrade linux-image-gcp-64k-7.0Upgrade linux-image-raspiUpgrade linux-image-nvidia-bos-64kUpgrade linux-image-azureUpgrade linux-image-azure-7.0Upgrade linux-image-awsUpgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-7.0.0-1014-azureUpgrade linux-image-raspi-realtimeUpgrade linux-image-raspi-7.0Upgrade linux-image-aws-64kUpgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-gcp-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-oracle-64kUpgrade linux-image-7.0.0-1008-oracleUpgrade linux-image-7.0.0-1016-nvidia-64kUpgrade linux-image-oracle-64k-7.0Upgrade linux-image-gcpUpgrade linux-image-azure-fde | Jul 21, 2026 | Jul 20, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub