CVE-2026-98140
NieznaneStreszczenie
W jądrze Linux funkcja write_mft_record_nolock() sterownika ntfs mapuje folio rekordu MFT za pomocą kmap_local_folio(), ale ścieżki błędów pre_write_mst_fixup() i bio_add_folio() skaczą do etykiety błędu bez odmapowania. Ponieważ mapowania kmap_local są uporządkowane stosowo per zadanie, wyciek jednego psuje zagnieżdżenie dla zewnętrznych mapowań.
Ocena ryzyka
Wyciek mapowania kmap_local może prowadzić do uszkodzenia stanu mapowań w zadaniu, powodując niestabilność jądra lub błędy w operacjach na systemie plików NTFS.
Rekomendacja
Zaktualizuj jądro Linux do wersji zawierającej poprawkę odmapowującą folio na ścieżkach błędów.
Inne podatności w Linux kernel (ntfs)
Zobacz wszystkie- CVE-2026-98141Nieznane
W jądrze Linux w funkcji update_reparse_data() sterownika ntfs ignorowana jest wartość zwracana przez set_reparse_index(). Gdy wstawienie indeksu się nie powiedzie, kod usuwa zapisane dane reparse jako sprzątanie, ale nadal zwraca 0, więc symlink(2) zgłasza sukces mimo braku danych reparse na dysku.
- CVE-2026-98139Nieznane
W jądrze Linux funkcja ntfs_cluster_free_from_rl_nolock() sterownika ntfs dodaje długość zakresu do nr_freed zawsze gdy warunek księgowania błędów jest fałszywy, co obejmuje przypadki, w których ntfs_bitmap_clear_run() faktycznie zawiodło. Ponieważ nieudane ntfs_bitmap_clear_run() wycofuje częściowe modyfikacje, żadne bity nie zostały wyczyszczone, a mimo to długość zakresu zawyża vol->free_clusters.
- CVE-2026-98138Nieznane
W jądrze Linux funkcja ntfs_sync_fs() sterownika ntfs bezwarunkowo czyści bit dirty, podczas gdy ntfs_put_super() i ścieżka ponownego montowania tylko do odczytu robią to tylko gdy NVolErrors(vol) jest fałszywe. W efekcie każde sync() na wolumenie z zapisanym błędem oznacza wolumen jako czysty, przez co nie jest przeprowadzane odzyskiwanie.
- CVE-2026-98137Nieznane
W jądrze Linux funkcja ntfs_dio_zero_range() sterownika ntfs zwraca 0 lub ujemny errno z blkdev_issue_zeroout(), nigdy wartości dodatniej. Sprawdzenie błędu zerowania w ntfs_attr_fallocate() nigdy się więc nie uruchamiało, przez co nieudana operacja zerowania była po cichu ignorowana, a nowo przydzielone klastry były wliczane do initialized_size.
- CVE-2026-98136Nieznane
W jądrze Linux funkcja ntfs_attr_find_in_attrdef() sterownika ntfs przechodzi przez tablicę $AttrDef w pamięci, ale warunek pętli ogranicza tylko początek każdego wpisu, nie cały wpis. Wolumen którego rozmiar danych $AttrDef jest mniejszy niż jeden wpis (np. 120 bajtów) powoduje odczyt poza alokacją podczas tworzenia pliku.
- CVE-2026-98135Nieznane
W jądrze Linux funkcja is_boot_sector_ntfs() sterownika ntfs sprawdza pole sectors_per_cluster sektora rozruchowego testem zakresowym, który odrzuca 0x81..0xf3, ale akceptuje 0 i inne wartości niebędące potęgami dwójki. Wartość zero trafia do parse_ntfs_boot_sector(), gdzie ffs(0) daje 0, przez co przesunięcie staje się niezdefiniowane.
- CVE-2026-98133Nieznane
W jądrze Linux funkcja ntfs_set_ea() sterownika ntfs w ścieżce wyjścia bezwarunkowo aktualizuje flagę HasEA na podstawie ea_info_qsize. Gdy błąd wystąpi przed aktualizacją ea_info_qsize, NInoClearHasEA() ukrywa istniejące na dysku rozszerzone atrybuty (EA) aż do zwolnienia i-węzła.
- CVE-2026-89614Krytyczne
W jądrze Linux sterownik ntfs ogranicza skanowanie bitmapy wolnych klastrów na podstawie rozmiaru $Bitmap, a nie liczby klastrów wolumenu. Obraz z $Bitmap obejmującą więcej klastrów niż wolumen pozwala na indeksowanie poza tablicą lcn_empty_bits_per_page.
- CVE-2026-89613Krytyczne
W jądrze Linux sterownik ntfs nie odrzuca atrybutów z pustymi mapping pairs, jeśli mają niespójne highest VCN i rozmiar. Brak walidacji może prowadzić do nieprawidłowego przetwarzania.
- CVE-2026-89612Krytyczne
W jądrze Linux funkcja parse_ntfs_boot_sector() dekoduje 64-bitowe LCN sektora rozruchowego NTFS do typu s64. Spreparowana wartość z wysokim bitem staje się ujemna i przechodzi sprawdzenie górnej granicy, co prowadzi do dostępu poza granicami tablicy lcn_empty_bits_per_page.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: ntfs: fix kmap_local leak in write_mft_record_nolock() error paths write_mft_record_nolock() maps the MFT record folio with kmap_local_folio(), but the pre_write_mst_fixup() and bio_add_folio() failure paths jump to the error label without unmapping it. kmap_local mappings are stack-ordered per task, so leaking one corrupts the nesting for any outer mapping. Unmap the folio on those error paths too.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

