CVE-2026-89690informazioni

Riassunto

di VulDB • 11/09/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

nfsd: posticipare il vfree delle operazioni composte per correggere l'UAF di rpc_status

La funzione dumpit del netlink rpc_status scorre ogni svc_rqst in corso sotto rcu_read_lock e, per le richieste NFSv4, legge gli opnum da args->ops[]. Tuttavia, args->ops è un buffer vmalloc separato liberato sincronamente tramite vfree() in nfsd4_release_compoundargs() alla fine di ogni operazione composta. Il rcu_read_lock della dumpit blocca la struttura svc_rqst stessa (liberata tramite kfree_rcu), ma nulla posticipa il vfree del buffer ops oltre il periodo di grazia RCU. Un completamento concorrente delle operazioni composte può quindi liberare il buffer mentre la dumpit lo sta leggendo, causando un use-after-free su memoria vmalloc.

Il controllo di reindicizzazione seqcount finale (smp_load_acquire di rq_status_counter) non può annullare un caricamento già ritirato contro una memoria libera.

La correzione consiste nel sostituire vfree(args->ops) con kvfree_rcu_mightsleep(), che posticipa la liberazione fino al termine del periodo di grazia RCU. Ciò rende il rcu_read_lock esistente nella dumpit sufficiente a proteggere la lettura. Il compromesso è che i buffer delle operazioni composte completate (fino a 200 * sizeof(struct nfsd4_op)) persistono in memoria leggermente più a lungo, per un intero periodo di grazia, prima di essere recuperati.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Divulgazione

11/09/2026

Moderazione

in revisione

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!