CVE-2025-71237 in Linux
Сводка
по VulDB • 30.05.2026
В ядре Linux устранена следующая уязвимость:
nilfs2: исправлена потенциальная переполнение блока, приводящее к зависанию системы
При выполнении пользователем команды FITRIM может произойти переполнение по отрицательному значению (underflow) при вычислении nblocks, если end_block слишком мало. Поскольку nblocks имеет тип sector_t (u64), отрицательное значение nblocks превращается в очень большое положительное число. В результате функция слоя блоков __blkdev_issue_discard() тратит чрезмерно много времени на обработку цепочки bio, а блокировка ns_segctor_sem удерживается в течение длительного периода. Это препятствует получению блокировки ns_segctor_sem другими задачами, что приводит к зависанию, описанному syzbot в [1].
Если конечный блок слишком мал, как правило, меньше диапазона 4 КБ (в зависимости от использования сегмента 0), может быть предпринята попытка запроса на удаление (discard) за пределами размера устройства, что вызывает зависание.
Корректное завершение и присваивание размера удаленных данных (в данном случае 0) полю range->len.
Хотя значения start и len в пользовательском диапазоне ввода слишком малы, здесь применяется консервативная стратегия безопасного игнорирования этих значений, что эквивалентно выполнению пустой операции (no-op); при этом не выполняется никакое усечение (trimming), и ошибка не генерируется.
[1]
task:segctord state:D stack:28968 pid:6093 tgid:6093 ppid:2 task_flags:0x200040 flags:0x00080000 Call Trace: rwbase_write_lock+0x3dd/0x750 kernel/locking/rwbase_rt.c:272 nilfs_transaction_lock+0x253/0x4c0 fs/nilfs2/segment.c:357 nilfs_segctor_thread_construct fs/nilfs2/segment.c:2569 [inline]
nilfs_segctor_thread+0x6ec/0xe00 fs/nilfs2/segment.c:2684
[ryusuke: исправлена часть сообщения коммита, касающаяся последствий]
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.