CVE-2026-98993
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
przestrzeń nazw: nie dziedzicź MNT_UMOUNT w clone_mnt()
MNT_UMOUNT zostaje podniesiony na wierzchowcu, który ma umount_tree() lub umount_one()
wyjęty z jego przestrzeni nazw. To nigdy nie jest wyjaśnione. __detach_mounts()
odczepia uchwyt, który go przenosi, zamiast go odmontowywać.
rozłącz_mount() pozwala odmontowanemu dziecku pozostać podłączonym tylko wtedy, gdy jest
rodzic go niesie. propagate_umount() przyjmuje to jako znak, że zamontowano
zostanie odmontowany, gdy zdecyduje, co jeszcze można odmontować,
gdzie kończy się łańcuch zamkniętych wierzchowców i gdzie jest ponowne rodzicielstwo
przewyższyć.
clone_mnt() kopiuje flagi źródła i tylko maski
MNT_INTERNAL_FLAGS, który nie obejmuje MNT_UMOUNT. To był wierzchowiec
leniwie odmontowany, ale nadal może być utrzymywany przy życiu przez deskryptor pliku
kopiowane, gdy jego katalogiem głównym jest plik nsfs lub pidfs, ponieważ may_copy_tree()
akceptuje je przed sprawdzeniem, czy źródło w ogóle jest zamontowane:
mount --bind /proc/self/ns/net /tmp/x
wykonaj 3< /tmp/x
umount -l /tmp/x
mount --bind /proc/self/fd/3 /tmp/y
Mount na /tmp/y jest dołączony do przestrzeni nazw wywołującego za pomocą
MNT_UMOUNT jest już ustawiony i każda jego kopia ponownie dziedziczy flagę.
Powoduje to szereg błędów:
- Odłącz jego punkt montowania od przestrzeni nazw montowania, gdzie nią nie jest.
__detach_mounts() bierze to za wierzchowiec, który został wcześniej odmontowany,
odłącza go od rodzica i usuwa odwołanie do przestrzeni nazw
trzyma się tego. Pozostaje w przestrzeni nazw z o jedno odwołaniem za mało
i jako własny rodzic, więc nie można go odmontować poprzez plik
deskryptora, a przestrzeń nazw nigdy go już nie znajdzie. Kiedy
namespace zniknie, wyciekł i wskazuje na uwolnioną strukturę
mnt_namespace, które odczytują may_change_propagation() i anon_ns_root().
przy następnej zmianie propagacji lub mount_setattr() w pliku
deskryptor.
- Udostępnij i odmontuj peera. trace_transfers() następuje po
flagę od partnera do niego i usuwa go z grupy równorzędnej.
- Niech dotrze do niego propagowana ilość. zebra_candidates() zaznacza to za pomocą
T_UMOUNT_CANDIDATE, ale nigdy nie umieszcza go na liście kandydatów, więc
znak nigdy nie jest czyszczony i każda później propagowana liczba jednostek go pomija. Jeśli
jest to element nadrzędny zablokowanego montowania handle_locked() przyjmuje go jako
odcina i zatwierdza zablokowane dziecko, które powinno zostać i
rozłącz_mount() pozostawia to dziecko dołączone do niego, odmontowane pod
zamontowany rodzic, do czego służy funkcja connect_mount().
zapobiegać. Kiedy przestrzeń nazw zniknie, funkcja umount_tree() odwiedza dziecko
drugi raz. A kiedy funkcja __detach_mounts() uczyni ją swoim własnym rodzicem
reparent() nigdy nie znajduje końca łańcucha niezamontowanych rodziców.
Klon to nowy wierzchowiec, który nigdy nie był odmontowany. Dodaj MNT_UMOUNT
do MNT_INTERNAL_FLAGS, więc clone_mnt() nigdy go nie kopiuje. I ostrzegaj kiedy
umount_tree() osiąga wierzchowiec, który jest już ustawiony.
>_ Referencje
- https://git.kernel.org/stable/c/5077b52e9e4d72da53c50251296b99cd416765a1
- https://git.kernel.org/stable/c/99698cfa34e493fc091219056aae446fe9442a96
- https://git.kernel.org/stable/c/c26c1a91ad2881a194f7af543e0b57f0870006b2
- https://git.kernel.org/stable/c/e2c6d326216642011da318b9edfd5d57ebd5a56f
- https://git.kernel.org/stable/c/eecc9cd0fc07dba3f7fb0b2f844b4029435a2f7b
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