CVE-2026-98214
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
selinux: sprawdź ponownie pośrednie pliki kopii zapasowych w mprotect()
Funkcja mprotect() może zostać użyta do ominięcia kontroli SELinux wykonywanych przez mmap().
względem pośrednich warstw ułożonego systemu plików.
mmap() sprawdza każdą warstwę podkładową, gdy żądanie przechodzi przez
stos. mprotect() ma tylko najniższy plik kopii zapasowej w vma->vm_file, więc tak jest
ponownie sprawdza użytkownika najwyższego poziomu i osobę montującą najniżej, ale pomija osoby montujące
każdej warstwy pomiędzy nimi. Z dwoma zagnieżdżonymi mocowaniami nakładek i polityką
odmawianie mounter_t -> środkowy_plik_t:plik {wykonaj}, bezpośredni
mmap(PROT_EXEC) jest odrzucany:
avc: odmowa {wykonania} dla pid=71 comm="nested_exec"
path="/payload" dev="overlay" ino=9
scontext=użytkownik_u:base_r:mounter_t
tcontext=user_u:object_r:middle_file_t tclass=plik permissive=0
podczas gdy mmap(PROT_NONE), po którym następuje mprotect(PROT_EXEC), kończy się sukcesem.
Zachowaj każdą ścieżkę pośrednią, SID modułu montującego i SID opisu pliku w
obiekt blob zabezpieczający plik zapasowy, kopiując zapisane wpisy do innego
warstwa spodnia jest otwarta. Przydziel tablicę tylko dla zagnieżdżonych plików kopii zapasowych,
i zwolnij go oraz odniesienia do ścieżek w haku backing_file_free.
Podczas mprotect() sprawdź ponownie fd { use } i żądane uprawnienia i-węzła
dla każdego zapisanego modułu montującego i dołącz warstwy pośrednie do pliku execmod
sprawdza. Może być wówczas konieczne przyznanie elementu pośredniego przez zasady dotyczące układania zagnieżdżonego
mounters, czego wymaga już bezpośrednia mmap(), i execmod na poziomie pośrednim
etykiety dla plików binarnych wykorzystujące relokację tekstu.
Testowane na arm64 QEMU z małym initramfem BusyBox i specjalnie zbudowanym
Polityka SELinux w głównym drzewie zawierającym
zatwierdzić f2381b546e7e („fs: napraw ścieżkę użytkownika zagnieżdżonych plików kopii zapasowych”).
[PM: zmiana tematu]
>_ Referencje
- https://git.kernel.org/stable/c/4d50ebe5a27724e020747ffd61a051dec67cb8ec
- https://git.kernel.org/stable/c/78fc54b934bfb2c18aad8154c7302067146946f9
- https://git.kernel.org/stable/c/89376fbfdcc1a728e1775f98752cdd90b0930a00
- https://git.kernel.org/stable/c/c2bbb905af2293549651b614a52ad91e0b462b60
- https://git.kernel.org/stable/c/d127c7e1f3e1231d8ac8b2738e3f00bea12afe74
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