В ядре Linux устранена следующая уязвимость:
f2fs: проверка количества записей потерянного индексного дескриптора
f2fs_recover_orphan_inodes() доверяет потерянному блоку enter_count, когда
воспроизведение потерянных индексных дескрипторов из пакета контрольных точек. Поврежденный вход_count
больше, чем F2FS_ORPHANS_PER_BLOCK, заставляет цикл восстановления читать мимо
ino[] и интерпретировать нижний колонтитул или последующие данные как номера индексных дескрипторов. В созданном образе установка непропатченного ядра может привести к потерянному восстановлению.
в f2fs_bug_on() и паникуйте ядро.
Подтвердите вход_count перед
потребляющие записи, поэтому поврежденные данные контрольной точки не позволяют монтировать с
-EFSCORRUPTED и вместо этого запрашивает fsck. Также установите ERROR_INCONSISTENT_ORPHAN, чтобы причиной повреждения могла быть
записано в поле суперблока s_errors[]. Это дает fsck постоянный
подсказка, даже несмотря на то, что сбой восстановления потерянной во время монтирования может не оставить шанса
сохранить SBI_NEED_FSCK через контрольную точку.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: f2fs: validate orphan inode entry count f2fs_recover_orphan_inodes() trusts the orphan block entry_count when replaying orphan inodes from the checkpoint pack. A corrupted entry_count larger than F2FS_ORPHANS_PER_BLOCK makes the recovery loop read past the ino[] array and interpret footer or following data as inode numbers. On a crafted image, mounting an unpatched kernel can drive orphan recovery into f2fs_bug_on() and panic the kernel. Validate entry_count before consuming entries so corrupted checkpoint data fails the mount with -EFSCORRUPTED and requests fsck instead. Set ERROR_INCONSISTENT_ORPHAN as well, so the corruption reason can be recorded in the superblock s_errors[] field. This gives fsck a persistent hint even though mount-time orphan recovery failure may leave no chance to persist SBI_NEED_FSCK through a checkpoint.
Характеристики атаки
Последствия
Строка CVSS v3.1