CVE Catalog

CVE-2026-89970

CriticalCVSS 9.8
Published: Updated: Translated: NVD NIST

Summary

In the Linux kernel, nvmet_auth_sq_free() cancels auth_expired_work with cancel_delayed_work(), which does not wait for an already-started callback. As a result, during transport teardown the queue containing struct nvmet_sq can be freed or reused while nvmet_auth_expired_work() still accesses it.

Risk Assessment

This can lead to a use-after-free in the NVMe target subsystem, causing kernel memory corruption or system panic. It affects servers acting as NVMe over Fabrics targets.

Recommendation

Update the Linux kernel to a version containing the fix that synchronously drains the delayed work before freeing authentication state. Restrict access to NVMe target services to trusted networks.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS