CVE-2026-89567
Niskie ryzyko· EPSS 10%Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 10 - wyżej niż 10% wszystkich znanych CVE
Streszczenie
W jądrze Linux shrinker jbd2 zaliczał do budżetu skanowania nr_to_scan tylko pomyślnie zwolnione bufory checkpointów, więc zajęte bufory nie zużywały budżetu. Przy dużej liście checkpointów złożonej głównie z zajętych buforów shrinker mógł przeskanować całą listę trzymając journal->j_list_lock, powodując długie blokady i soft lockupy lub RCU stalls.
Ocena ryzyka
Długie trzymanie blokady j_list_lock może powodować soft lockupy, RCU stalls i ogólną degradację wydajności systemu pod presją pamięci.
Rekomendacja
Zaktualizować jądro Linux do wersji, w której nr_to_scan jest przekazywane do journal_shrink_one_cp_list() i dekrementowane dla każdego zbadanego bufora, w tym zajętego.
Inne podatności w Linux kernel (jbd2)
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: jbd2: bound shrinker scans by examined checkpoint buffers The jbd2 shrinker currently accounts only checkpoint buffers that it successfully releases against nr_to_scan. Busy buffers therefore do not consume the scan budget. If a checkpoint transaction contains mostly busy buffers, the shrinker can scan its entire checkpoint list while holding journal->j_list_lock. Large checkpoint lists can result in excessive lock hold times and leave other CPUs spinning on j_list_lock, causing soft lockups or RCU stalls. Pass nr_to_scan into journal_shrink_one_cp_list() and decrement it for every buffer examined, including busy buffers. Pass NULL from checkpoint cleanup paths so their existing full-list behavior is preserved. This restores the scan-budget semantics that existed before journal_shrink_one_cp_list() was changed to always scan a complete checkpoint list.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

