CVE-2026-89617
NieznaneStreszczenie
W jądrze Linux sterownik fs/ntfs3 nie waliduje tablicy dirty page table podczas odtwarzania dziennika. Podrobiony wpis DIR_PAGE_ENTRY z nieprawidłowym polem lcns_follow pozwala na wyjście poza wpis podczas konwersji v0->v1 i późniejszego odtwarzania.
Ocena ryzyka
Atakujący może zamontować spreparowany obraz NTFS, co prowadzi do dostępu poza granicami pamięci w jądrze i potencjalnej awarii systemu lub wykonania kodu.
Rekomendacja
Zaktualizuj jądro Linux do wersji zawierającej funkcję check_dp_table() odrzucającą wpisy większe niż deklarowany rozmiar.
Inne podatności w Linux kernel (fs/ntfs3)
Zobacz wszystkie- CVE-2026-89616Nieznane
W jądrze Linux funkcja ni_read_frame() w fs/ntfs3 ufa wartości zwracanej przez decompress_lznt(), która może być mniejsza niż rozmiar ramki. Niezapisane bajty pozostają w stronach vmapped i są zwracane do użytkownika, ujawniając niezainicjalizowaną pamięć jądra.
- CVE-2026-89615Nieznane
W jądrze Linux pętle copy_lcns i redo shorten w fs/ntfs3 indeksują page_lcns[] na podstawie liczby lcns_follow z rekordu dziennika, która nie jest sprawdzana względem docelowego wpisu. Spreparowany rekord może przepełnić page_lcns[] prawidłowego wpisu.
- CVE-2026-45864Średnie
W jądrze Linux w systemie plików NTFS3 wykryto podatność na zapętlenie nieskończone podczas przetwarzania zakresu [valid : pos). Jeśli wartość valid nie może zostać poprawnie odczytana i pozostaje taka sama, może dojść do blokady procesu (hung), co potwierdzono raportem syzbot. Dodano sprawdzenie, czy valid nie zmienia się w pętli, a w przypadku braku zmiany zwracany jest błąd -EINVAL.
- CVE-2025-71311Wysokie
W jądrze Linux w systemie plików NTFS3 wykryto podatność polegającą na użyciu niezainicjowanych folio. Nowo alokowane folio nie są oznaczane jako aktualne, a funkcja ni_read_frame() jest pomijana, gdy oczekuje się całkowitego nadpisania ramki, co prowadzi do pozostawienia części pamięci niezainicjowanej.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: validate dirty page table on log replay Each DIR_PAGE_ENTRY ends in a page_lcns[] array whose length is the on-disk lcns_follow field. check_rstbl() validates the table bookkeeping but never checks that this array fits in the entry, so a crafted lcns_follow lets the v0->v1 conversion memmove and later replay passes run off the entry. Add check_dp_table() to reject, right after check_rstbl(), any entry larger than its size claims via struct_size() (the same expression used to allocate these entries, so the check is overflow-safe by construction). All consumers can then trust lcns_follow as the real capacity. This covers every page_lcns[] access whose index is bounded by the entry itself (the conversion memmove, the HotFix store via find_dp(), and the self-bounded scan loops). Accesses whose index comes from the log record need a separate bound and are handled in a follow-up patch.

