CVE-2026-90037 in Linux
Sumário
de VulDB • 16/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
NFSD: Prevenir o uso após liberação (use-after-free) de cliente durante a varredura da lista LRU de fechamentos
Um nfs4_openowner deixado em nn->close_lru após seu último CLOSE mantém seu estadoid final fechado em oo_last_closed_stid, mantendo apenas um ponteiro bruto para seu nfs4_client. O processo de limpeza (laundromat) remove entradas expiradas, libera o nn->client_lock e chama a função nfs4_put_stid(), que desreferencia o cliente através do cl_lock. Nada protege o cliente durante essa janela, portanto uma force_expire_client() concorrente pode liberá-lo e a nfs4_put_stid() lê memória já liberada. A __destroy_client() sofre da mesma condição de corrida (race condition), percorrendo os clp->cl_openowners sem o bloqueio do cl_lock.
Proteja o cliente com cl_rpc_users antes de liberar o client_lock, e ignore clientes que estão em processo de expiração. A __destroy_client() então limpa suas próprias entradas da close_lru através da release_last_closed_stateid(), para que a desmontagem (teardown) não mais entre em condição de corrida com o laundromat.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.