CVE-2023-3111
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
W systemie Linux Kernel odkryto podatność typu use after free w funkcji prepare_to_relocate w pliku fs/btrfs/relocation.c. Możliwe jest wywołanie tej luki poprzez wywołanie btrfs_ioctl_balance() przed btrfs_ioctl_defrag().
Ocena ryzyka
Podatność ta może prowadzić do nieprzewidzianego zachowania systemu, co może skutkować utratą danych lub naruszeniem integralności systemu plików Btrfs.
Rekomendacja
Zaleca się unikanie wywoływania btrfs_ioctl_balance() przed btrfs_ioctl_defrag() oraz monitorowanie aktualizacji jądra w celu załatania tej luki.
Inne podatności w Linux Kernel Btrfs
Zobacz wszystkie- CVE-2026-98959Krytyczne
W jądrze Linux w module btrfs występuje błąd podczas zastępowania wartości atrybutu rozszerzonego (xattr), gdy wiele xattrów jest spakowanych w tym samym elemencie btrfs_dir_item. Nowy btrfs_dir_item nie jest w pełni inicjalizowany, co prowadzi do uszkodzenia drzewa i wykrycia go przez mechanizm sprawdzania podczas zapisu bufora extentu.
- CVE-2026-98080Średnie
W jądrze Linux w podsystemie btrfs występuje błąd, który podczas tworzenia snapshotów z włączonymi qgroupami (quota) wymusza niepotrzebne tworzenie reloc root. Prowadzi to do ostrzeżenia jądra w funkcji lookup_inline_extent_backref i przełączenia systemu plików w tryb tylko do odczytu (RO). Problem ujawnia się m.in. podczas operacji balance/relocate na systemie plików btrfs z włączoną opcją quota.
- CVE-2026-93800Niskie ryzyko· EPSS 5%
W jądrze Linux w podsystemie btrfs występuje podatność use-after-free związana z operacją relokacji. Gdy funkcja insert_dirty_subvol() zwróci błąd, pole reloc_root korzenia pozostaje wskazaniem do zwolnionego obiektu reloc root zamiast zostać ustawione na NULL, co prowadzi do użycia zwolnionej pamięci lub podwójnego zwolnienia podczas odmontowywania systemu plików.
- CVE-2026-93255Niskie ryzyko· EPSS 9%
W jądrze Linux w podsystemie btrfs występuje wyścig (race condition) między wątkiem kończącym odczyt extent buffera a wątkiem odmontowującym system plików. Flaga EXTENT_BUFFER_READING nie jest czyszczona w tej samej sekcji krytycznej co zmniejszanie liczby referencji, co prowadzi do fałszywych ostrzeżeń w invalidate_and_check_btree_folios(). Poprawka wprowadza funkcję pomocniczą free_extent_buffer_clear_reading() oraz synchronizację na refs_lock.
- CVE-2026-90265Niskie ryzyko· EPSS 11%
W jądrze Linux występuje zakleszczenie (deadlock) w systemie plików btrfs, do którego dochodzi podczas defragmentacji plików z włączoną opcją autodefrag. Defragmentacja rezerwuje miejsce delalloc, trzymając jednocześnie zablokowane i brudne folio oraz blokadę zakresu extentu, co prowadzi do wzajemnego zablokowania zadań jądra (btrfs-cleaner, writeback, reclaim metadanych).
- CVE-2026-89772Niskie ryzyko· EPSS 9%
W jądrze Linux w podsystemie btrfs wykryto błąd polegający na braku wczesnej ochrony przed zapisem (write-protect) stron pamięci (folios) podczas zapisu danych na dysk. Zmiana w kodzie zastąpiła wywołanie folio_clear_dirty_for_io() zwykłym sprawdzeniem folio_test_dirty(), przez co proces z zmapowanym plikiem (mmap) może modyfikować sektory w trakcie ich przetwarzania przez mechanizm writeback. Prowadzi to do uszkodzenia sum kontrolnych, utraty zapisanych danych, a w przypadku plików skompresowanych lub rozszerzonych do uszkodzenia danych.
Oryginalny opis (angielski, źródło NVD)
A use after free vulnerability was found in prepare_to_relocate in fs/btrfs/relocation.c in btrfs in the Linux Kernel. This possible flaw can be triggered by calling btrfs_ioctl_balance() before calling btrfs_ioctl_defrag().
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

