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

Сводка

по VulDB • 15.08.2026

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

binfmt_misc: не позволять записи типа «F» фиксировать собственный экземпляр

Запись, зарегистрированная с флагом 'F', открывает свой интерпретатор в момент регистрации и удерживает этот файл до тех пор, пока запись не будет освобождена. Любая запись, которую никто не удалил вручную, закрывается только при остановке суперблока binfmt_misc. Если интерпретатор находится на смонтированной файловой системе, которая поддерживает жизнь этого суперблока, они взаимно фиксируют друг друга:

superblock binfmt_misc -> inode -> entry -> interp_file -> vfsmount -> superblock binfmt_misc

TL;DR файл никогда не закрывается. После удаления пространства имен монтирования (mount namespace) ничего не остается для отмены регистрации через любой из этих объектов.

Существует два способа вызвать эту ошибку:

- Указать интерпретатор на сам экземпляр. Его файлы являются обычными файлами, принадлежащими пользователю, выполнившему монтирование, и как bm_get_inode(), так и simple_fill_super() оставляют i_op равным empty_iops. Поэтому notify_change() переходит к simple_setattr(), и chmod +x работает успешно. Мы никогда не устанавливаем флаг SB_I_NOEXEC, поэтому open_exec() принимает этот файл для выполнения.

- Использовать экземпляр как нижний слой overlayfs. Суперблок overlay удерживает клон (clone_private_mount()) каждого слоя до тех пор, пока он не будет уничтожен, и этот клон не принадлежит ни одному пространству имен. Поэтому umount_tree() никогда не достигает его.

Это приводит к отказу в обслуживании (DoS). И утекает не только суперблок. Он фиксирует пространство имен пользователя (user namespace), в котором было выполнено монтирование, поэтому каждая итерация навсегда расходует один из квот пространства имен пользователя вызывающего процесса.

Поэтому давайте просто сделаем разумное действие. SB_I_NOEXEC заставляет open_exec() завершаться ошибкой для файлов собственного экземпляра, а s_stack_depth заставляет overlayfs отклонять слой до того, как он когда-либо создаст клон. Это также покрывает варианты passthrough для ecryptfs и fuse. Обещания, даваемые флагом 'F', остаются неизменными.

Тег stable уже, чем теги Fixes намеренно. До появления изолированных монтирований (sandboxed mounts) требовались глобальные права root против единственного экземпляра, которым все делятся, и изменение в любом случае не применяется к этим древам.

Обратите внимание, что SB_I_NODEV неявно устанавливается для монтирований с userns, но здесь мы также явно повышаем его уровень.

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

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

Linux

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

15.08.2026

Раскрытие

15.08.2026

Модерация

принято

Вход

VDB-390774

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!