Katalog CVE

CVE-2026-72192

KrytyczneCVSS 9.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.22%

Percentyl 12 - wyżej niż 12% wszystkich znanych CVE

Streszczenie

W jądrze Linux w systemie plików NTFS3 wykryto podatność polegającą na zapisie poza przydzielony bufor podczas przenoszenia wpisów z pełnego katalogu głównego $INDEX_ROOT do nowego bufora indeksu. Atakujący może wykorzystać spreparowany obraz NTFS, aby spowodować kopiowanie danych sterowanych przez atakującego poza przydzieloną pamięć, co prowadzi do uszkodzenia sterty.

Ocena ryzyka

Podatność umożliwia lokalnemu, nieuprzywilejowanemu użytkownikowi (poprzez zamontowanie spreparowanego obrazu NTFS i wykonanie operacji open(O_CREAT)) doprowadzenie do kontrolowanego zapisu poza granicami pamięci, co może skutkować eskalacją uprawnień lub awarią systemu.

Rekomendacja

Zaleca się natychmiastowe zastosowanie oficjalnej łatki jądra Linux, która dodaje walidację rozmiaru danych przed kopiowaniem w funkcji indx_insert_into_root. Do czasu aktualizacji należy unikać montowania niezaufanych obrazów NTFS.

Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: ntfs3: bound to_move in indx_insert_into_root before hdr_insert_head indx_insert_into_root() promotes a full resident $INDEX_ROOT into $INDEX_ALLOCATION and copies all non-last resident root entries into a newly allocated INDEX_BUFFER via hdr_insert_head(). The source byte count 'to_move' is summed from the on-disk resident entry sizes and is independent of the destination buffer size, which comes from root->index_block_size (via indx->index_bits). A crafted NTFS image that keeps a valid, full resident root but shrinks root->index_block_size down to 512 after the root has been populated makes hdr_insert_head() memcpy attacker-controlled resident entry bytes past the end of the kmalloc(1u << indx->index_bits) allocation returned by indx_new(). For a 512-byte destination and a resident root whose non-last entries total 560 bytes, the memcpy overruns by 120 bytes and a following memmove extends the highest written offset to 136 bytes past the allocation. The overflow bytes are a direct copy of on-disk entries (via kmemdup), so they are fully attacker-controlled. The write is reachable from unprivileged open(O_CREAT) on a mounted crafted NTFS image: a single sufficiently long create in a directory whose resident root is already full forces root promotion and triggers the copy. This is a controlled out-of-bounds write of 120-136 bytes past a kmalloc(index_block_size) allocation, with attacker-controlled content. It is a bounded adjacent-heap corruption primitive; it is not an arbitrary-address write. Successful exploitation into a named victim object depends on the surrounding slab layout. Reject the copy at the sink. The destination's INDEX_HDR already reports hdr_total (the payload capacity of the new buffer) and hdr_used (the bytes already consumed by the terminal END entry installed by indx_new()); require that to_move fits in the remaining payload before calling hdr_insert_head(). On mismatch, fail with -EINVAL and mark the filesystem as having a detected on-disk inconsistency, which is the same behaviour as the surrounding validation in this function.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS