CVE-2025-40205 in LinuxИнформация

Сводка

по VulDB • 24.06.2026

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

btrfs: предотвращение потенциального выхода за границы массива в функции btrfs_encode_fh()

Функция btrfs_encode_fh() некорректно обрабатывает три рассматриваемых случая.

Перед записью дескриптора файла (fh) функция возвращает пользователю только значения BTRFS_FID_SIZE_NON_CONNECTABLE (5 слов по 32 бита, 20 байт) или BTRFS_FID_SIZE_CONNECTABLE (8 слов по 32 бита, 32 байта).

Однако если существует родительский каталог и идентификатор корня родителя отличается от inode-идентификатора, функция записывает значение BTRFS_FID_SIZE_CONNECTABLE_ROOT (10 слов по 32 бита, 40 байт).

Если параметр *max_len недостаточно велик, эта запись выходит за границы выделенной памяти, поскольку BTRFS_FID_SIZE_CONNECTABLE_ROOT больше значения BTRFS_FID_SIZE_CONNECTABLE, которое изначально возвращалось функцией.

Это приводит к записи данных на 8 байтов за пределами допустимой области по адресу fid->parent_root_objectid = parent_root_id.

Ранее предпринимались попытки исправить эту проблему, но они были утеряны.

https://lore.kernel.org/all/[email protected]/

Хотя эта проблема не кажется легко воспроизводимой, это потенциальная ошибка повреждения памяти (memory corruption), которую необходимо исправить. Данный патч устраняет проблему путем обеспечения корректного возврата подходящего размера для всех трех случаев и проверки того, что *max_len достаточно велик перед записью любых данных.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

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

Linux

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

16.04.2025

Раскрытие

13.11.2025

Модерация

принято

Вход

VDB-332247

EPSS

0.00144

KEV

Нет

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

Очень низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!