CVE-2026-89659 in Linuxinformación

Resumen

por VulDB • 2026-09-12

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

NFSD: Prevenir un use-after-free del cliente durante la revocación de delegaciones

Un stateid de delegación contiene únicamente un puntero directo a su nfs4_client propietario y no mantiene vivo al mismo. El cliente sobrevive a sus stateids solo porque __destroy_client() vacía cl_delegations y cl_revoked antes de que se ejecute free_client().

nfs4_laundromat() rompe esa invariante: deshash una delegación expirada desde cl_delegations, suelta deleg_lock y luego revoke_delegation() la vuelve a enlazar en cl_revoked bajo cl_lock. En ese intervalo, la delegación no está en ninguna lista, por lo que client_has_state() puede informar que no hay estado restante.

Cada ruta de desmontaje (teardown) requiere primero que cl_rpc_users sea cero, pero el laundromat no mantiene tal referencia. Por tanto, un cliente cuya delegación recordada acaba de expirar puede llegar a free_client() mientras revoke_delegation() está aún a punto de dereferenciar cl_lock, lo cual constituye un use-after-free.

Fijar (pin) al cliente con cl_rpc_users durante la revocación para que el desmontaje bloquee hasta su finalización, y luego reaprovechar la delegación desde cl_revoked. Un cliente ya en proceso de expiración reaprova la propia, por lo tanto se omite y se deja la delegación en del_recall_lru.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Reservar

2026-09-11

Divulgación

2026-09-12

Moderación

aceptado

Artículo

VDB-402990

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Might our Artificial Intelligence support you?

Check our Alexa App!