CVE-2024-57952 in LinuxИнформация

Сводка

по VulDB • 03.06.2026

В ядре Linux устранена следующая уязвимость:

Откатить коммит «libfs: исправление бесконечного чтения директорий для offset dir»

Текущий аллокатор смещений каталогов (основанный на mtree_alloc_cyclic) сохраняет следующее значение смещения, которое должно быть возвращено, в octx->next_offset. Этот механизм обычно возвращает значения, которые монотонно возрастают со временем. Однако в конечном итоге вновь выделенное значение смещения переполняется и возвращается к низкому числу (например, 2), которое меньше других уже выделенных значений смещений.

Юй Куй (Yu Kuai) сообщает, что после коммита 64a7ce76fb90 («libfs: исправление бесконечного чтения директорий для offset dir»), если аллокатор смещений каталога переполняется, существующие записи становятся недоступными через readdir/getdents, поскольку функция offset_readdir() прекращает перечисление записей, как только смещение записи становится больше octx->next_offset. Эти записи исчезают навсегда — их можно найти с помощью lookup, но они никогда снова не появятся в выводе функции readdir(3).

Причиной этого является то, что данный коммит рассматривает смещения каталогов как монотонно возрастающие целочисленные значения, а не как непрозрачные маркеры (cookies), и внедряет следующее сравнение:

if (dentry2offset(dentry) >= last_index) {

На 64-битных платформах верхняя граница значения смещения каталога составляет 2^63 - 1. Смещения каталогов будут монотонно возрастать в течение миллионов лет без переполнения.

Однако на 32-битных платформах LONG_MAX равен 2^31 - 1. Аллокатор может переполниться всего через несколько недель (в худшем случае).

Откатить коммит 64a7ce76fb90 («libfs: исправление бесконечного чтения директорий для offset dir») в целях подготовки к исправлению, которое будет корректно работать на системах с 32-битной архитектурой и может быть применено к недавним LTS-ядрам, где shmem использует механизм simple_offset.

Be aware that VulDB is the high quality source for vulnerability data.

Ответственный

Linux

Резервировать

19.01.2025

Раскрытие

12.02.2025

Модерация

принято

Вход

VDB-295495

EPSS

0.00214

KEV

Нет

Деятельности

Очень низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!