Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: nvmet-auth: Sincronizar el trabajo de tiempo de espera durante el desmontaje de la SQ nvmet_auth_sq_free() cancela auth_expired_work con cancel_delayed_work(). Si el trabajo ya comenzó, la cancelación no espera a la función de devolución de llamada. En consecuencia, el desmontaje del transporte puede liberar o reutilizar la cola que contiene struct nvmet_sq mientras nvmet_auth_expired_work() aún accede a esa SQ. Se agrega una función auxiliar específica para el desmontaje que drena de forma sincrónica el trabajo diferido antes de liberar el estado de autenticación, y se usa desde nvmet_sq_destroy(). Se mantiene la función auxiliar no sincrónica para la limpieza del estado de autenticación en banda, donde el propietario de la SQ sigue activo.
Qué hacer
Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.
Versiones afectadas
- Linux Afectadas: 1a70200f404ae210b4f0334e3936e84f8edb6bc8 y anteriores a 664022fa1c93f4eba09ef5ee02411b9709dd7a93 · 1a70200f404ae210b4f0334e3936e84f8edb6bc8 y anteriores a c3c126a6142a1335bc8c34a5607c39cf01daf295 · 1a70200f404ae210b4f0334e3936e84f8edb6bc8 y anteriores a c17c87bde6d6f5252a6a6f0a94b2430164aa28d5 · 1a70200f404ae210b4f0334e3936e84f8edb6bc8 y anteriores a 7555ddd60af72df2862dd8f9b730a9848577edda · 1a70200f404ae210b4f0334e3936e84f8edb6bc8 y anteriores a eb4f9127a2b8a152743f1ee597627e2f69cb54fe · 1a70200f404ae210b4f0334e3936e84f8edb6bc8 y anteriores a eaa948c0e19b1bb2d93262207bca0c3d19cc3406
- Linux Afectadas: 6.0 No afectadas: 6.1.188 · 6.6.157 · 6.12.110 · 6.18.51 · 7.2.5 · 7.3
Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.
Referencias
- Referencia en git.kernel.orggit.kernel.org/stable/c/664022fa1c93f4eba09ef5ee02411b9709dd7a93
- Referencia en git.kernel.orggit.kernel.org/stable/c/c3c126a6142a1335bc8c34a5607c39cf01daf295
- Referencia en git.kernel.orggit.kernel.org/stable/c/c17c87bde6d6f5252a6a6f0a94b2430164aa28d5
- Referencia en git.kernel.orggit.kernel.org/stable/c/7555ddd60af72df2862dd8f9b730a9848577edda
- Referencia en git.kernel.orggit.kernel.org/stable/c/eb4f9127a2b8a152743f1ee597627e2f69cb54fe
- Referencia en git.kernel.orggit.kernel.org/stable/c/eaa948c0e19b1bb2d93262207bca0c3d19cc3406
Ver el texto original en inglés (CVE.org)
nvmet-auth: Synchronize timeout work during SQ teardown
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.