В ядре Linux устранена следующая уязвимость:
jbd2: исправлено опустошение целочисленного значения в jbd2_journal_initialize_fast_commit().
jbd2_journal_initialize_fast_commit() проверяет емкость журнала путем
проверка (журнал->j_last - num_fc_blks < JBD2_MIN_JOURNAL_BLOCKS). И j_last, и num_fc_blks не имеют знака, поэтому, когда num_fc_blks превышает
j_last вычитание переносится на большое значение, минуя границы
проверьте. Полученное в результате опустошение повреждает j_last, j_fc_first и j_free.
что приводит к прекращению работы журнала.
Исправьте, проверив num_fc_blks на j_last перед вычитанием,
возвращение -EFSCORRUPTED.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: jbd2: fix integer underflow in jbd2_journal_initialize_fast_commit() jbd2_journal_initialize_fast_commit() validates journal capacity by checking (journal->j_last - num_fc_blks < JBD2_MIN_JOURNAL_BLOCKS). Both j_last and num_fc_blks are unsigned, so when num_fc_blks exceeds j_last the subtraction wraps to a large value, bypassing the bounds check. The resulting underflow corrupts j_last, j_fc_first, and j_free, leading to journal abort. Fix by checking num_fc_blks against j_last before the subtraction, returning -EFSCORRUPTED.
Характеристики атаки
Последствия
Строка CVSS v3.1