Odebrany

CVE-2026-89667

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

nfsd: zamknij Skurczacz/GC/fsnotify vs wyścig zamykania sieci w pamięci podręcznej plików

Zmniejszacz, pracownik GC i wywołania zwrotne fsnotify/lease mogą odblokować plik
nfsd_file z rhashtable, a następnie wywołaj
nfsd_file_dispose_list_delayed(), aby przenieść go na listę utylizacji dla poszczególnych sieci.
Jeśli funkcja nfsd_file_cache_shutdown_net() działa jednocześnie, jej spacer po rhashtable
pomija już niezaszyfrowany plik i usuwa jego zawartość w sieci
lista może zostać uruchomiona, zanim plik zostanie umieszczony w kolejce. Plik następnie pozostaje
lista per-net bez wątku, który mógłby ją opróżnić, powodując wyciek zarówno pliku, jak i
związany z nim stan.

Pracownik GC i kurczacz trzymają już nfsd_gc_lock podczas chodzenia
LRU, ale w oryginalnym kodzie zwalniają go przed wywołaniem
nfsd_file_dispose_list_delayed(). Ścieżka fsnotify/lease
(nfsd_file_close_inode) nie ma żadnej synchronizacji.

Napraw to poprzez:

1. Rozszerzenie nfsd_gc_lock zarówno w nfsd_file_gc() jak i nfsd_file_lru_scan()
aby pokryć wywołanie nfsd_file_dispose_list_delayed().

2. Zawijanie nfsd_file_close_inode() w nfsd_gc_lock tak, aby wszystkie trzy
osoby wywołujące funkcję nfsd_file_dispose_list_delayed() utrzymują blokadę.

3. Dodanie bariery spin_lock/unlock(nfsd_gc_lock) w
nfsd_file_cache_shutdown_net() po oczyszczeniu, tak aby wszelkie
zbywanie w toku zostało całkowicie zakończone przed wykazem netto
jest osuszony.

Wszystkie operacje wewnątrz zamka nie są uśpione (wyszukiwanie w tabeli rhashtable,
atomowe operacje bit/refcount, ruchy list, svc_wake_up), więc blokada jest
odpowiednie.

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org