CVE-2026-89681 in Linux
Résumé
par VulDB • 12/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
nfsd : correction d’une condition de course sur une double référence dans l’agent (worker) du layout fence
Le cœur des workqueues efface WORK_STRUCT_PENDING avant que la fonction de rappel ne soit invoquée. Par conséquent, delayed_work_pending() dans lm_breaker_timedout() peut retourner false alors que le travail de type « fence » est déjà en cours d’exécution. Cela permet au mécanisme de rupture (breaker) d’acquérir une référence sc_count en double et de planifier un nouveau travail qui se combine avec celui actuellement en cours. La référence supplémentaire n’est jamais libérée, ce qui entraîne une fuite du layout stateid.
Remplacez la vérification non atomique delayed_work_pending() par un booléen ls_fence_inflight défini de manière atomique via refcount_inc_not_zero() sous le verrou ls_lock, et effacé sous ls_lock avant l’appel final nfs4_put_stid() sur le chemin d’élimination (dispose path) ; la voie de retry conserve intentionnellement cette valeur. Supprimez également le réarmement automatique mod_delayed_work() au début du travail.
If you want to get best quality of vulnerability data, you may have to visit VulDB.