Katalog CVE

CVE-2026-46061

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.09%

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

Streszczenie

W jądrze Linuxa zidentyfikowano podatność, która prowadzi do zakleszczenia w funkcji jbd2_journal_cancel_revoke(). Zmiana wprowadzone w commitcie f76d4c28a46a narusza porządek blokad, co może prowadzić do sytuacji ABBA, gdy rozmiar bloku systemu plików jest mniejszy niż rozmiar strony.

Ocena ryzyka

Podatność ta może prowadzić do zawieszenia systemu, co wpływa na dostępność usług i może powodować przestoje w działaniu aplikacji korzystających z systemu plików.

Rekomendacja

Zaleca się aktualizację jądra Linux do wersji, w której wprowadzono poprawkę, aby uniknąć problemów z zakleszczeniem.

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

In the Linux kernel, the following vulnerability has been resolved: jbd2: fix deadlock in jbd2_journal_cancel_revoke() Commit f76d4c28a46a ("fs/jbd2: use sleeping version of __find_get_block()") changed jbd2_journal_cancel_revoke() to use __find_get_block_nonatomic() which holds the folio lock instead of i_private_lock. This breaks the lock ordering (folio -> buffer) and causes an ABBA deadlock when the filesystem blocksize < pagesize: T1 T2 ext4_mkdir() ext4_init_new_dir() ext4_append() ext4_getblk() lock_buffer() <- A sync_blockdev() blkdev_writepages() writeback_iter() writeback_get_folio() folio_lock() <- B ext4_journal_get_create_access() jbd2_journal_cancel_revoke() __find_get_block_nonatomic() folio_lock() <- B block_write_full_folio() lock_buffer() <- A This can occasionally cause generic/013 to hang. Fix by only calling __find_get_block_nonatomic() when the passed buffer_head doesn't belong to the bdev, which is the only case that we need to look up its bdev alias. Otherwise, the lookup is redundant since the found buffer_head is equal to the one we passed in.

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