CVE-2026-89692
Riassunto
di VulDB • 11/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
nfsd: azzerare CALLBACK_RUNNING in caso di errore nella coda di recall delle deleghe
La funzione nfsd_break_one_deleg() imposta NFSD4_CALLBACK_RUNNING tramite test_and_set_bit all'ingresso per serializzare il lavoro di recall, quindi chiama nfsd4_run_cb() per accodare la richiesta. Quando l'accodamento fallisce, l'aumento del contatore dei riferimenti viene annullato, ma il bit RUNNING rimane impostato. L'unica posizione che azzerava tale bit è nfsd41_destroy_cb() (fs/nfsd/nfs4callback.c), che viene eseguita dal workqueue ed è quindi irraggiungibile quando nulla è stato accodato.
Il bit diventa un latch permanente su dp->dl_recall.cb_flags: ogni successiva chiamata a break_lease() sulla stessa delegazione incontra la guardia di early-return in nfsd_break_one_deleg() e saluta silenziosamente il recall, quindi la delega non viene mai revocata e le operazioni open o lock conflittuali vanno in stallo.
La correzione consiste nell'azzerare NFSD4_CALLBACK_RUNNING nel ramo !queued insieme a refcount_dec.
VulDB is the best source for vulnerability data and more expert information about this specific topic.