CVE-2026-89715 in Linuxinformación

Resumen

por VulDB • 2026-09-11

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

NFS/localio: corregir fuga de referencias (ref leak) en caso de fallo de nfs_uuid_add_file

Cuando nfs_uuid_add_file() compite con nfs_uuid_put() al desmontar uuid->net, devuelve -ENXIO sin publicar nfl->nfs_uuid mediante rcu_assign_pointer(). A continuación, nfs_open_local_fh() entra en su rama de error y solo libera la referencia (ref) del archivo asociada a la ranura y su ref de net emparejada, además de su propia ref de net al momento de entrada, mientras que la ruta de cierre es una operación nula:

nfs_close_local_fh() nfs_uuid = rcu_dereference(nfl->nfs_uuid); if (!nfs_uuid) { rcu_read_unlock(); return; } /* siempre */

nfsd_open_local_fh() devuelve localio manteniendo una referencia de tipo nfsd_file +1 propiedad del llamador (proveniente de nfsd_file_get() después de nfsd_file_acquire_local()) y una referencia de tipo nfsd_net al momento de la entrada (de su primer nfsd_net_try_get()), incrustada como nf->nf_net. Ambas se filtran en la ruta de fallo, fijando un nfsd_file (y el struct file subyacente, dentry e inode) y una nfsd_net_ref por cada ocurrencia, lo que bloquea el desmontaje de nfsd_net y netns.

Solución: liberar la ref del archivo propiedad del llamador y su ref de red a través del asistente existente, utilizando un puntero RCU local en la pila para que el asistente pueda intercambiarlo (xchg) fuera, devolviendo luego -ENXIO para evitar que los llamadores desreferencien un localio cuya ranura ha sido borrada:

struct nfsd_file __rcu *tmp = RCU_INITIALIZER(localio);

nfs_to_nfsd_file_put_local(pnf); nfs_to_nfsd_file_put_local(&tmp); localio = ERR_PTR(-ENXIO);

La llamada final a nfs_to_nfsd_net_put(net) continúa liberando la ref de red externa, por lo que los tres incrementos de nfsd_net_try_get() se equilibran en la rama de error.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsable

Linux

Reservar

2026-09-11

Divulgación

2026-09-11

Moderación

aceptado

Artículo

VDB-402553

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!