GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux nvme-fc: double free of fabrics options when nvme_add_ctrl() fails during connect

CVSS 7.5CVE-2026-89974Kernel, userspace & hypervisorcurated

Impact

When nvme_add_ctrl() fails, nvme_fc_init_ctrl() takes an error exit that skips clearing ctrl->ctrl.opts, so the transport frees the fabrics options and nvmf_create_ctrl() frees them again - a slab use-after-free confirmed by KASAN in the commit message. The failing allocation is dev_set_name(), so the path is reached under memory pressure rather than by a clean attacker-chosen trigger. On a node attached to FC storage this is a kernel-memory corruption during controller connect, which is exactly what happens during a storage flap when the box is already short on memory.

Who can reach it

Local, on a host using NVMe over Fibre Channel. Requires the connect path to fail on an allocation; no network authentication step is described.

What to do

Update to the stable kernel carrying the fix (ownership is derived from rport list membership via a new fail_unlist path) and reboot the node. Only affects hosts with the nvme-fc transport in use. The record names stable commits, not fixed release numbers.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.