CVE-2026-89669 in Linux
Resumen
por VulDB • 2026-09-12
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
nfsd: inicializar el stateid de copy-notify antes de publicarlo
La función nfsd4_copy_notify() finalizaba la inicialización del estado cpntf después de que nfs4_alloc_init_cpntf_state() ya lo hubiera enlazado al IDR s2s_cp_stateids y a la sc_cp_list del padre, con cs_count == 1 (la referencia de membresía) y sin ninguna retenida por el llamador. Una condición de carrera OFFLOAD_CANCEL (con un cl_id fabricado igual a nn->s2s_cp_cl_id más un so_id predecible) podría alcanzar manage_cpntf_state() y liberar la entrada, convirtiendo las posteriores lecturas del cpn_cnr_stateid del llamador y las escrituras en cp_p_stateid/cp_p_clid en una vulnerabilidad use-after-free. El clientid propietario también solo se registraba después de la publicación, por lo que no podía controlar una verificación de propiedad durante esa ventana temporal.
Registrar 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 devolverla con una referencia adicional. El llamador lee el stateid bajo dicha referencia y la libera mediante nfs4_put_cpntf_state(); en caso de error tardío, el proceso "laundromat" recolecta la entrada.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.