CVE-2026-99084
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
readdir: nie blokuj i-węzła w niezmiennym katalogu
iterate_dir() pobiera udostępniony katalog i_rwsem i przechowuje go w innym miejscu
->iterate_shared(). Dla katalogu, który nigdy nie ma wpisu i jest
nigdy nie zdejmowany, zamek niczego nie zatrzymuje, tylko porządkuje każdego czytelnika
i każdy autor tego i-węzła za sobą.
Dla katalogu instancji nullfs ma to znaczenie. Przykład
początkowa przestrzeń nazw montowania jest korzeniem każdej pustej przestrzeni nazw montowania
a instancja prywatna jest korzeniem każdego wątku jądra, a więc jednym
i-węzeł jest współdzielony przez użytkowników, którzy nie mają ze sobą nic wspólnego. I
czytnik może przytrzymać zamek tak długo, jak chce: cofnij funkcję getdents()
bufor z mapowaniem pliku na własnym montażu FUSE, niech
kopia „.” i „..” błąd i pozwól serwerowi poczekać. Kolejka na wyłączność
taker za nim, mkdir() w tym katalogu przechodzi przez start_dirop()
przed zgłoszeniem podłączenia tylko do odczytu i od tego momentu przy każdym wyszukiwaniu
który pomija dcache w tym katalogu, każde utworzenie i każde podłączenie
na nim czeka, aż serwer odpowie. Jeden użytkownik pustego wierzchowca
przestrzeń nazw zatrzymuje wszystkie pozostałe.
Dodaj FOP_IMMUTABLE dla operacji na plikach w katalogu, których nigdy nie ma
zmienia się i nigdy nie jest usuwany i pozwala iterate_dir() pominąć blokadę
to. Flaga nigdy nie zmienia się dla pliku, ->f_pos jest chroniony przez
f_pos_lock, ponieważ katalogi to FMODE_ATOMIC_POS, IS_DEADDIR nie może być
ustawić w takim katalogu i ani touch_atime(), ani fsnotify nie biorą
i_rwsem. Ustaw go w katalogu nullfs. Katalogi zastępcze
libfs też nigdy nie mają wpisów, ale ich właściciele je usuwają, więc oni
zachowaj zamek.
>_ 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