CVE-2026-90236 in Linuxinformazioni

Riassunto

di VulDB • 18/09/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

NFSD: Rilasciare il riferimento all'export durante l'eliminazione degli stateid di apertura (open)

nfs4_put_stid() rilascia il svc_export tracciato in nfs4_stid.sc_export, ma free_ol_stateid_reaplist() libera gli open e lock stateid chiamando direttamente ->sc_free(), aggirando tale percorso. Uno stato di apertura (open stateid) acquisisce un riferimento sc_export in nfs4_open() e uno stato di blocco (lock stateid) ne acquisisce uno proprio in init_lock_stateid(); entrambi raggiungono free_ol_stateid_reaplist() attraverso il loro normale processo di chiusura: lo open stateid tramite release_open_stateid() e il lock stateid tramite nfsd4_release_lockowner(), ciascuno passando per put_ol_stateid_locked(). Il riferimento non viene quindi mai rilasciato, mantenendo l'export in uso (pinning) e bloccando lo smontaggio (unmount) per tutta la durata dello stato.

Rilasciare sc_export in free_ol_stateid_reaplist() nel modo in cui fa nfs4_put_stid(). ->sc_free() viene eseguito una sola volta per ogni stateid, e uno stateid raggiunge free_ol_stateid_reaplist() o nfs4_put_stid(), ma mai entrambi; di conseguenza il riferimento viene rilasciato esattamente una volta. Gli stateid revocati raggiungono questo percorso con sc_export già azzerato da drop_stid_export(), quindi vengono saltati invece di essere liberati due volte (double-free).

nfs4_put_stid() legge attualmente sc_export prima di acquisire cl_lock. drop_stid_export() cancella tale campo e rilascia il riferimento sotto cl_lock, pertanto una revoca concorrente potrebbe causare il rilascio dell'export nella finestra temporale tra la lettura e l'ultimo put (put), liberando lo stesso riferimento due volte. Leggere sc_export mentre cl_lock è detenuto in modo che i due percorsi vengano serializzati e il riferimento venga rilasciato esattamente una volta.

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

Fonti

Do you know our Splunk app?

Download it now for free!