CVE-2026-89830
NieznaneStreszczenie
W jądrze Linux w funkcji __allocate_data_block() systemu plików f2fs, przy alokacji nowego bloku danych najpierw zwiększany jest licznik zajętych bloków (inc_valid_block_count()), a jeśli kolejna operacja f2fs_allocate_data_block() zakończy się błędem, funkcja zwraca błąd bez cofnięcia tego zwiększenia. Powoduje to trwały wyciek licznika poprawnych bloków.
Ocena ryzyka
Wyciek licznika bloków może prowadzić do błędnego raportowania zajętości miejsca i w konsekwencji do problemów z integralnością lub dostępnością systemu plików f2fs.
Rekomendacja
Zaktualizuj jądro Linux do wersji zawierającej poprawkę, która przed zwróceniem błędu wywołuje dec_valid_block_count() w celu cofnięcia zwiększenia licznika.
Inne podatności w Linux kernel (f2fs)
Zobacz wszystkie- CVE-2026-93235Nieznane
W jądrze Linux w systemie plików F2FS wykryto błąd polegający na tym, że przy rozszerzaniu rozmiaru pliku przez nieprzyrównaną granicę EOF dane poza poprzednim EOF w częściowej stronie nie były zerowane. W efekcie po ponownym zamontowaniu lub po odzyskaniu po awarii mogły zostać ujawnione nieaktualne dane z dysku znajdujące się poza poprzednim końcem pliku.
- CVE-2026-89829Wysokie
W jądrze Linux funkcja f2fs_sanity_check_node_footer() nie otrzymuje poprawnej wartości folio->index, przez co sprawdza ten sam nid w nieprawidłowy sposób. Może to prowadzić do błędnej weryfikacji spójności węzłów w systemie plików f2fs.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: f2fs: fix valid block count leak on data block allocation failure In __allocate_data_block(), when allocating a new data block (dn->data_blkaddr == NULL_ADDR), inc_valid_block_count() is called first to increment total_valid_block_count and i_blocks. If the subsequent f2fs_allocate_data_block() fails, the function returns the error directly without rolling back the already-incremented block counts, causing a permanent leak. Fix this by calling dec_valid_block_count() to undo the increment before returning the error. The condition old_blkaddr == NULL_ADDR precisely identifies the case where inc_valid_block_count() was called.

