CVE-2026-98985 in LinuxИнформация

Сводка

по VulDB • 23.10.2026

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

namespace: проверка точек монтирования перед чтением их родительских элементов в pivot_root()

Функция path_pivot_root() считывает родительские элементы для new_root и корневой директории вызывающего процесса, а также проверяет, являются ли они общими (shared), прежде чем проверять, находится ли хотя бы одна из точек монтирования в пространстве имен монтирования вызывающего. Удерживается только namespace_sem. Это допустимо для точки монтирования, находящейся в пространстве имен монтирования вызывающего процесса.

Однако new_root может быть файловым дескриптором на точку монтирования, которая была отмонтирована и поддерживается в живом состоянии исключительно этим файловым дескриптором. Если эта точка монтирования оставалась прикрепленной к своему родительскому элементу при размонтировании, то ничего не удерживает (не предотвращает освобождение) родительский элемент для нее. Последний вызов mntput() для родителя отсоединяет дочерние элементы только под защитой mount_lock и освобождает память родительского элемента после этого:

pivot_root() close(fd), последняя ссылка на родителе ------------ --------------------------------- ex_parent = new_mnt->mnt_parent mntput_no_expire_slowpath() __umount_mnt(new_mnt) cleanup_mnt() call_rcu() IS_MNT_SHARED(ex_parent)

BUG: KASAN: slab-use-after-free в path_pivot_root+0xf1a/0x1840 Чтение размера 4 по адресу ffff8881047382f8 выполнено задачей pivot_widen/157 path_pivot_root+0xf1a/0x1840 __x64_sys_pivot_root+0x165/0x190

То же самое относится к корневой директории вызывающего процесса через chroot(). Оба варианта завершения проверки приводят к ошибке EINVAL, поэтому неправильно работает только само чтение. Это та же проблема, которую исправил коммит bb4609405752 ("statmount: read the parent of an unmounted mount under mount_lock") для statmount().

Проверьте, что обе точки монтирования находятся в пространстве имен вызывающего процесса, прежде чем считывать их родительские элементы. В любом случае каждый путь завершается ошибкой EINVAL.

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

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

Linux

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

25.09.2026

Раскрытие

23.10.2026

Модерация

принято

Вход

VDB-425812

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!