Saltar al contenido
CVE-2026-89669 Fuente: CVE.org Publicada · sin explotación confirmada

Vulnerabilidad de uso después de liberar memoria (use-after-free) en Linux kernel (nfsd)

Linux · Linux · Publicada en CVE.org el 11-09-2026 · Última actualización: 09-11-2026

Descripción

En el Linux kernel se resolvió la siguiente vulnerabilidad: nfsd: inicializar el stateid de copy-notify antes de publicarlo nfsd4_copy_notify() terminaba de inicializar el estado cpntf después de que nfs4_alloc_init_cpntf_state() ya lo había vinculado al IDR s2s_cp_stateids y a la sc_cp_list del padre, con cs_count == 1 (la referencia de pertenencia) y sin ninguna referencia mantenida para la función llamadora. Un OFFLOAD_CANCEL concurrente (con cl_id == nn->s2s_cp_cl_id especialmente manipulado más el so_id predecible) podía alcanzar manage_cpntf_state() y liberar la entrada, convirtiendo la lectura posterior de cpn_cnr_stateid y las escrituras de cp_p_stateid/cp_p_clid de la función llamadora en un uso después de liberar memoria (use-after-free). Además, el clientid propietario solo se registraba después de la publicación, por lo que no podía usarse para una verificación de propiedad en ese intervalo. Se registran cp_p_stateid y cp_p_clid dentro de nfs4_alloc_init_cpntf_state() antes de que nfs4_init_cp_state() publique la entrada, y se devuelve con una referencia adicional. La función llamadora lee el stateid bajo esa referencia y la libera con nfs4_put_cpntf_state(); ante un error tardío, el laundromat recupera la entrada.

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: 624322f1adc58acd0b69f77a6ddc764207e97241 y anteriores a 863b6e995665472f2af5be2436a874ab6a9e5ac6 · 624322f1adc58acd0b69f77a6ddc764207e97241 y anteriores a d18d36395d973ef7372c8e6724970585f75b5c0b · 624322f1adc58acd0b69f77a6ddc764207e97241 y anteriores a 4415a692346a39fdb647cbd717eda510159aaf55 · 624322f1adc58acd0b69f77a6ddc764207e97241 y anteriores a 9caad13b7cfe9ccb90cc405ac77335800e086595 · 624322f1adc58acd0b69f77a6ddc764207e97241 y anteriores a e08a3dcaca0505f861e344a387f37f94d95dbdc2 · 624322f1adc58acd0b69f77a6ddc764207e97241 y anteriores a a4d7fedcaaf33e60a01e53eafca9041ef966212f · 624322f1adc58acd0b69f77a6ddc764207e97241 y anteriores a 4cdef96892f4fa6e70c405b6e8f2fd6972f3b64b · 624322f1adc58acd0b69f77a6ddc764207e97241 y anteriores a 129643893b79f8a3c6b72045f933fbab5ee424ca
  • Linux Afectadas: 5.6 No afectadas: 5.10.270 · 5.15.221 · 6.1.188 · 6.6.157 · 6.12.109 · 6.18.50

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

Ver el texto original en inglés (CVE.org)

nfsd: initialize copy-notify stateid before publishing it

In the Linux kernel, the following vulnerability has been resolved: nfsd: initialize copy-notify stateid before publishing it nfsd4_copy_notify() finished initializing the cpntf state after nfs4_alloc_init_cpntf_state() had already linked it into the s2s_cp_stateids IDR and the parent's sc_cp_list, with cs_count == 1 (the membership reference) and none held for the caller. A racing OFFLOAD_CANCEL (crafted cl_id == nn->s2s_cp_cl_id plus the guessable so_id) could reach manage_cpntf_state() and free the entry, turning the caller's subsequent cpn_cnr_stateid read and cp_p_stateid/cp_p_clid writes into use-after-free. The owning clientid was also only recorded after publication, so it could not gate an ownership check in that window. Record cp_p_stateid and cp_p_clid inside nfs4_alloc_init_cpntf_state() before nfs4_init_cp_state() publishes the entry, and return it with an extra reference. The caller reads the stateid under that reference and drops it with nfs4_put_cpntf_state(); on a late error the laundromat reaps the entry.

Recibe el boletín cuando CISA agregue vulnerabilidades nuevas

Te escribimos solo cuando CISA agrega vulnerabilidades nuevas, ya traducidas: cada día que haya, o en un resumen los lunes. Confirmas por correo y te das de baja con un clic.

Frecuencia