CVE-2026-98977
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
przestrzeń nazw: prawidłowo obsługuj blokowanie mocowania dla automatycznych montowań
Jeśli montowania są propagowane w przestrzeniach nazw użytkowników, funkcja connect_recursive_mnt()
blokuje każdą kopię źródła mount, aby chronić przed overmountami
znikanie i odsłanianie podstawowych plików lub katalogów.
Od tego czasu przestrzeń nazw użytkownika jest pobierana z przestrzeni nazw montowania wywołującego
tutaj kończą się wierzchowce. Tyle że nie zawsze jest to prawdą.
Automounty mogą zgodnie z prawem pojawiać się w zadaniach znajdujących się w pliku
inną przestrzeń nazw montowania i użytkownika podczas wyszukiwania ścieżki.
W takim razie sprawdzanie nie ma w tym momencie sensu. Kopia w przestrzeni nazw
rodzica – który może należeć do hosta – jest teraz zablokowany, a host
nie może już zmieniać flag swoich własnych wierzchowców.
Oto reproduktor:
- host ma zamontowane debugfs nosuid, nodev, noexec i udostępnione
- automatyczne montowanie tracefs poniżej nie jest jeszcze aktywne
- przekaż procesowi potomnemu deskryptor katalogu na tym wierzchowcu
- proces potomny wchodzi do przestrzeni nazw auser i mount
- przestrzeń nazw procesu potomnego zawiera teraz zablokowaną kopię pliku debugfs hosta
mount, który otrzymuje od niego propagację
- statystyki procesów potomnych "tracing/." poprzez deskryptor
- wyszukiwanie działa na wierzchowcu hosta, więc automount ląduje poniżej wierzchowca hosta
- propagacja stawia kopię pod kopią dziecka
- obaj próbują wyczyścić flagi na zdobytym wierzchowcu, ponownie montując wiązanie:
host, samodzielnie montuje automatycznie: MS_REMOUNT|MS_BIND = EPERM
dziecko, na kopii w jej przestrzeni nazw: MS_REMOUNT|MS_BIND = 0
Zatem zamek wylądował na wierzchowcu gospodarza, zamiast na kopii dziecka.
Gratulacje. Musimy więc porównać z właścicielem przestrzeni nazw
uchwyt faktycznie jest montowany. We wszystkich zwykłych przypadkach jest to
przestrzeń nazw montowania wywołującego, więc nic się nie zmienia.
Odłączone drzewa w anonimowych przestrzeniach nazw wierzchowców można przekazywać za pośrednictwem
SCM_RIGHTS lub dziedziczone celowo w inny sposób, więc dołączanie zadania
mount jest autorytatywna, a nie twórca odłączonego drzewa.
>_ Referencje
- https://git.kernel.org/stable/c/33aadc7c72055fca93cb5a3691d836ebf8b31c9b
- https://git.kernel.org/stable/c/5e8f3ac8fa3d411b422ad32b9168c46a4824cc79
- https://git.kernel.org/stable/c/6ab37fae14196ba2262b152a7d9222c50356d278
- https://git.kernel.org/stable/c/b3ccde78f1608836e62320428abc0e8aa9cf2329
- https://git.kernel.org/stable/c/e01c79761c7b3373e80094c5eadb21cb864fa8bc
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