Katalog CVE

CVE-2026-46194

ŚrednieCVSS 4.7
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.01%

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

Streszczenie

W jądrze systemu Linux zidentyfikowano podatność w funkcji f2fs_destroy_extent_node(), która nie ustawia flagi FI_NO_EXTENT przed usunięciem węzłów. Może to prowadzić do wyścigu między operacjami usuwania a zapisywaniem, co skutkuje błędem f2fs_bug_on() w funkcji __destroy_extent_node().

Ocena ryzyka

Podatność ta może prowadzić do nieprzewidywalnych zachowań systemu plików F2FS, co może skutkować utratą danych lub destabilizacją systemu. Organizacje powinny być świadome ryzyka związanego z równoczesnym dostępem do węzłów w drzewie.

Rekomendacja

Zaleca się aktualizację jądra systemu Linux do najnowszej wersji, która zawiera poprawki dla tej podatności. Należy również monitorować systemy pod kątem nieprawidłowego działania związanych z F2FS.

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

In the Linux kernel, the following vulnerability has been resolved: f2fs: fix node_cnt race between extent node destroy and writeback f2fs_destroy_extent_node() does not set FI_NO_EXTENT before clearing extent nodes. When called from f2fs_drop_inode() with I_SYNC set, concurrent kworker writeback can insert new extent nodes into the same extent tree, racing with the destroy and triggering f2fs_bug_on() in __destroy_extent_node(). The scenario is as follows: drop inode writeback - iput - f2fs_drop_inode // I_SYNC set - f2fs_destroy_extent_node - __destroy_extent_node - while (node_cnt) { write_lock(&et->lock) __free_extent_tree write_unlock(&et->lock) - __writeback_single_inode - f2fs_outplace_write_data - f2fs_update_read_extent_cache - __update_extent_tree_range // FI_NO_EXTENT not set, // insert new extent node } // node_cnt == 0, exit while - f2fs_bug_on(node_cnt) // node_cnt > 0 Additionally, __update_extent_tree_range() only checks FI_NO_EXTENT for EX_READ type, leaving EX_BLOCK_AGE updates completely unprotected. This patch set FI_NO_EXTENT under et->lock in __destroy_extent_node(), consistent with other callers (__update_extent_tree_range and __drop_extent_tree) and check FI_NO_EXTENT for both EX_READ and EX_BLOCK_AGE tree.

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