Odebrany

CVE-2026-89768

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ę:

fs: napraw ścieżkę użytkownika zagnieżdżonych plików kopii zapasowych

backing_file_open() wyznacza ścieżkę do zapisania w nowym kopii zapasowej
plik z pliku_użytkownika->f_path. Jest to nieprawidłowe, gdy sam plik_użytkownika
jest plikiem zapasowym, co ma miejsce w przypadku zagnieżdżonych systemów plików zestawionych stosowo,
np. overlayfs montuje się, gdzie dolny katalog jednego overlayfs jest łączony
katalog innego. Od momentu zatwierdzenia def3ae83da02 („fs: zapisz prawdziwą ścieżkę
zamiast fałszywej ścieżki w pliku kopii zapasowej f_path”) ścieżka f kopii zapasowej
plik zawiera rzeczywistą ścieżkę warstwy pośredniej, a nie ścieżkę, która
użytkownik otworzył.

Zatwierdzenie 924577e4f6ca („ovl: Napraw zagnieżdżone ścieżki plików kopii zapasowych”) naprawiło to
dla takich konfiguracji przekazując file_user_path() z
ovl_open_realfile(). Jednakże zatwierdź 6af36aeb147a („lsm: add
backing_file Haki LSM”) zmienił pierwszy argument
backing_file_open() ze ścieżki użytkownika z powrotem do pliku użytkownika i
ponownie wyprowadził ścieżkę z pliku_użytkownika->f_path, po cichu przedstawiając ją ponownie
problem.

W rezultacie pliki odwzorowane za pomocą zagnieżdżonych nakładek pokazują błąd
ścieżka w /proc/<pid>/maps i w rekordach mmap perf/ftrace. Na przykład
z dwoma zagnieżdżonymi mocowaniami nakładkowymi:

mkdir -p /ovl/{dolny, górny, roboczy, scalony} /ovl/zagnieżdżony
echo witaj > /ovl/lower/foo
mount -t nakładka nakładka \
-o dolnykatalog=/ovl/niższy,górnykatalog=/owl/górny,workdir=/owl/praca \
/owl/połączone
# potrzebne są co najmniej dwa dolne katalogi, gdy górny katalog nie istnieje
mount -t nakładka nakładka \
-o dolny katalog=/owl/scalony:/ovl/niższy /owl/zagnieżdżony

mapowanie /ovl/nested/foo pokazuje rozłączoną ścieżkę zamiast użytkownika
ścieżka:

# readlink /proc/self/fd/3
/owl/zagnieżdżony/foo
# grep foo /proc/self/maps
7f6e2c100000-7f6e2c101000 r--s 00000000 00:24 15813027 /foo

Fałszywa ścieżka pochodzi z f_path pośredniego podkładu
plik, którego podłączenie jest prywatnym klonem, którego d_path() nie może rozpoznać.

Napraw ten problem, używając funkcji file_user_path(), która zwraca najbardziej zewnętrzną
widoczna dla użytkownika ścieżka do plików kopii zapasowych i wraca do niej
&user_file->f_path dla zwykłych plików. To przywraca zachowanie
zatwierdzić 924577e4f6ca („ovl: Napraw zagnieżdżone ścieżki plików kopii zapasowych”) dla
overlayfs, a także rozwiązuje ten sam problem dla drugiego
backing_file_open() wywołujące, przekazywanie bezpieczników i erofs ishare, kiedy
ich plik użytkownika sam w sobie jest plikiem zapasowym.

backing_tmpfile_open() ma ten sam wzorzec, ale nie ma na to wpływu: jest
wywoływana tylko przez ovl_create_tmpfile() dla górnej warstwy i kolejna
overlayfs jest odrzucany jako katalog górny podczas odprawy DCACHE_OP_REAL
ovl_mount_dir_check(), więc jego plik_użytkownika nigdy nie może być plikiem zapasowym.

>_ 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