CVE-2026-45920
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 9 - wyżej niż 9% wszystkich znanych CVE
Streszczenie
W jądrze systemu Linux zidentyfikowano podatność związaną z podwójnym dekrementowaniem licznika brudnych klastrów podczas zamykania systemu plików ext4. Problem ten prowadzi do ostrzeżenia o wartości -1 dla licznika brudnych klastrów, co wskazuje na błąd w ścieżce obsługi błędów.
Ocena ryzyka
Podatność ta może prowadzić do nieprzewidywalnych zachowań systemu plików, co w konsekwencji może wpłynąć na stabilność i integralność danych w systemie. W przypadku wystąpienia błędów podczas zamykania systemu plików, może to prowadzić do utraty danych.
Rekomendacja
Zaleca się aktualizację jądra systemu Linux do najnowszej wersji, w której ta podatność została naprawiona. Regularne monitorowanie i testowanie systemu plików również pomoże w identyfikacji potencjalnych problemów.
Inne podatności w Linux kernel, ext4 filesystem
Zobacz wszystkie- CVE-2026-43067Krytyczne
W jądrze Linuxa rozwiązano podatność w systemie plików ext4, która dotyczyła obsługi przepełnienia podczas wyszukiwania bloków dla plików z mapowaniem pośrednim. Zmiana w kodzie ogranicza alokację bloków do numerów mieszczących się w 32-bitowych numerach bloków.
- CVE-2026-45985Średnie
W jądrze systemu Linux zidentyfikowano podatność w systemie plików ext4, która występuje podczas alokacji bloków w trybie DIO. Problem polega na tym, że niewłaściwe ustawienie flagi EXT4_GET_BLOCKS_CONVERT może prowadzić do problemów z danymi przestarzałymi.
- CVE-2026-45942Wysokie
W jądrze Linuxa zidentyfikowano i naprawiono problem z niespójnością bitmapy w systemie plików ext4, który występował podczas testów obciążeniowych z użyciem dużych stron pamięci. Problem ten był spowodowany warunkiem wyścigu między migracją stron a modyfikacją bitmapy.
- CVE-2026-45912Średnie
W jądrze systemu Linux zidentyfikowano podatność w systemie plików ext4, która dotyczy buforowania zakresów podczas procesu ich dzielenia. Problemy z buforowaniem mogą prowadzić do pozostawienia nieaktualnych zakresów w drzewie statusów, co skutkuje błędami w zarządzaniu przestrzenią.
- CVE-2026-45899Średnie
W jądrze Linux w systemie plików ext4 wykryto podatność polegającą na tym, że w przypadku niepowodzenia dzielenia zakresu (extent) w drzewie stanu zakresów mogą pozostać nieaktualne wpisy. Prowadzi to do niespójności danych.
- CVE-2026-45858Średnie
W jądrze Linux w systemie plików ext4 wykryto podatność związaną z nieprawidłowym zerowaniem zakresów alokacji podczas dzielenia dużego niezainicjalizowanego zakresu (extent). W pewnych warunkach, gdy operacja dzielenia zakresu nie powiedzie się z powodu braku miejsca, może dojść do pozostawienia nieaktualnych danych (stale data) w zapisanym zakresie, co narusza integralność danych.
- CVE-2024-49960Wysokie
W jądrze Linuxa naprawiono podatność w systemie plików ext4, która dotyczyła użycia po zwolnieniu pamięci (use-after-free) w przypadku nieudanej próby montowania. Problem polegał na tym, że timer s_err_report pozostawał aktywny, co mogło prowadzić do błędów I/O.
- CVE-2024-49889Wysokie
W jądrze Linuxa zidentyfikowano podatność w systemie plików ext4, która może prowadzić do błędu use-after-free w funkcji ext4_ext_show_leaf(). Problem ten występuje, gdy wskaźnik 'path' jest używany po jego zwolnieniu lub ponownym przydzieleniu, co może prowadzić do nieprzewidywalnych zachowań systemu.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: ext4: fix dirtyclusters double decrement on fs shutdown fstests test generic/388 occasionally reproduces a warning in ext4_put_super() associated with the dirty clusters count: WARNING: CPU: 7 PID: 76064 at fs/ext4/super.c:1324 ext4_put_super+0x48c/0x590 [ext4] Tracing the failure shows that the warning fires due to an s_dirtyclusters_counter value of -1. IOW, this appears to be a spurious decrement as opposed to some sort of leak. Further tracing of the dirty cluster count deltas and an LLM scan of the resulting output identified the cause as a double decrement in the error path between ext4_mb_mark_diskspace_used() and the caller ext4_mb_new_blocks(). First, note that generic/388 is a shutdown vs. fsstress test and so produces a random set of operations and shutdown injections. In the problematic case, the shutdown triggers an error return from the ext4_handle_dirty_metadata() call(s) made from ext4_mb_mark_context(). The changed value is non-zero at this point, so ext4_mb_mark_diskspace_used() does not exit after the error bubbles up from ext4_mb_mark_context(). Instead, the former decrements both cluster counters and returns the error up to ext4_mb_new_blocks(). The latter falls into the !ar->len out path which decrements the dirty clusters counter a second time, creating the inconsistency. To avoid this problem and simplify ownership of the cluster reservation in this codepath, lift the counter reduction to a single place in the caller. This makes it more clear that ext4_mb_new_blocks() is responsible for acquiring cluster reservation (via ext4_claim_free_clusters()) in the !delalloc case as well as releasing it, regardless of whether it ends up consumed or returned due to failure.

