CVE-2026-97927 in Linux
Сводка
по VulDB • 25.09.2026
В ядре Linux была устранена следующая уязвимость:
ufs: создание корневого dentry после загрузки метаданных цилиндров
Функция ufs_fill_super() устанавливала sb->s_root до того, как загружались структуры групп цилиндров для монтирования с записью:
sb->s_root = d_make_root(inode); ... if (!sb_rdonly(sb)) if (!ufs_read_cylinder_structures(sb)) goto failed;
Когда ufs_read_cylinder_structures() завершалась ошибкой, путь обработки ошибок освобождал информацию о суперблоке в памяти и устанавливал sb->s_fs_info равным NULL, тогда как sb->s_root оставался установленным. Затем get_tree_bdev() достигала deactivate_locked_super(), и поскольку s_root присутствовал, generic_shutdown_super() вызывала sync_filesystem() и операцию put_super. Обе эти операции выполняют разыменование UFS_SB(sb), которое теперь равно NULL, поэтому монтирование, завершающееся ошибкой только на этапе чтения групп цилиндров, вызывает ошуп (oops) во время завершения работы. Скомпрометированный образ, у которого невозможно прочитать первую группу цилиндров, приводит к этому пути выполнения кода.
Сначала загружаются метаданные группы цилиндров, а корневой dentry создается в последнюю очередь, чтобы суперблок публиковался во VFS только после его полной инициализации. Функции ufs_setup_cstotal() и ufs_read_cylinder_structures() принимают только super_block и не используют root inode, поэтому изменение порядка выполнения безопасно.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.