ZeroHour

CVE-2026-89970

niche

Use-After-Free Race in Linux Kernel NVMe-oF Target Authentication (nvmet-auth)

CVSS 3.1
9.8 critical
EPSS
Published
()
Modified
AI analysis

The Linux kernel's NVMe over Fabrics target authentication code (nvmet-auth) contains a use-after-free race: nvmet_auth_sq_free() cancels the authentication expiration delayed work with cancel_delayed_work(), which does not wait if the callback has already started executing. If an attacker triggers authentication expiration timing that overlaps with queue teardown, the transport layer can free or reuse the queue containing struct nvmet_sq while nvmet_auth_expired_work() is still accessing it, corrupting target-side kernel memory. A remote NVMe host that can reach the target and negotiate in-band authentication (e.g., by disconnecting at the right moment during the auth timeout window) could potentially crash the target or, per the assigned CVSS 9.8 rating, achieve high confidentiality, integrity, and availability impact through memory corruption. Only systems running the Linux kernel as an NVMe-oF target (nvmet subsystem) with in-band authentication support and authentication configured are affected. No public proof-of-concept, CISA KEV listing, or confirmed in-the-wild exploitation is known.

What to do: Update the kernel to a release containing the nvmet-auth synchronous teardown fix (check your distribution's security advisory for the backport of CVE-2026-89970). Until patched, disable in-band authentication (DH-HMAC-CHAP) on nvmet targets or restrict NVMe/TCP traffic (port 4420) to trusted storage networks with host and network ACLs. Verify whether your hosts run the in-kernel nvmet target with authentication enabled, and monitor for unexpected host disconnects coinciding with authentication timeouts.

Affected
Linux kernel (nvmet-auth, NVMe-oF target in-band authentication)
Estimated exposure
nicheLow thousands of potentially exposed NVMe/TCP targets at most (public scans show only ~1-3k hosts with NVMe/TCP port 4420 reachable); the vulnerable subset… — Estimated from public internet scan counts for NVMe/TCP port 4420 and the fact that the flaw requires a Linux nvmet target with DH-HMAC-CHAP in-band authentication configured, which is an uncommon, newer option typically deployed on…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

In the Linux kernel, the following vulnerability has been resolved: nvmet-auth: Synchronize timeout work during SQ teardown nvmet_auth_sq_free() cancels auth_expired_work with cancel_delayed_work(). If the work has already started, cancellation does not wait for the callback. Transport teardown can consequently free or reuse the queue containing struct nvmet_sq while nvmet_auth_expired_work() still accesses that SQ. Add a teardown-specific helper that synchronously drains the delayed work before freeing authentication state, and use it from nvmet_sq_destroy(). Keep the non-synchronous helper for in-band authentication state cleanup, where the SQ owner remains alive.

Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

In the news

No ingested article mentions this CVE yet.