Katalog CVE

CVE-2026-89692

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w module nfsd funkcja nfsd_break_one_deleg() ustawia bit NFSD4_CALLBACK_RUNNING, ale gdy próba zakolejkowania recall nie powiedzie się, bit nie jest czyszczony. Powoduje to trwałe zablokowanie kolejnych prób zerwania delegacji na tym samym obiekcie, przez co delegacja nigdy nie zostaje zerwana, a konfliktowe otwarcie lub blokada zawiesza się. Poprawka czyści bit w gałęzi !queued.

Ocena ryzyka

Po nieudanej próbie recall delegacji kolejne operacje otwarcia lub blokady na tym samym pliku mogą zawiesić się na stałe. Prowadzi to do niedostępności zasobów i degradacji usługi NFS dla klientów.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę czyszczącą NFSD4_CALLBACK_RUNNING w gałęzi !queued. W razie wystąpienia zawieszeń rozważ restart usługi nfsd do czasu wdrożenia patcha.

Inne podatności w Linux kernel (nfsd)

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: nfsd: clear CALLBACK_RUNNING on failed delegation recall queue nfsd_break_one_deleg() sets NFSD4_CALLBACK_RUNNING via test_and_set_bit at entry to serialize recall work, then calls nfsd4_run_cb() to queue the recall. When the queue attempt fails the refcount bump is undone, but the RUNNING bit is left set. The only site that clears the bit is nfsd41_destroy_cb() (fs/nfsd/nfs4callback.c), which runs from the workqueue and is therefore unreachable when nothing was queued. The bit becomes a permanent latch on dp->dl_recall.cb_flags: every subsequent break_lease() on the same delegation hits the early-return guard in nfsd_break_one_deleg() and silently skips the recall, so the delegation is never broken and the conflicting open or lock stalls. Fix by clearing NFSD4_CALLBACK_RUNNING on the !queued branch alongside the refcount_dec.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS