В инструменте runC, который используется для запуска контейнеров в Docker, Kubernetes и других системах, обнаружены три критические уязвимости - CVE-2025-31133, CVE-2025-52565 и CVE-2025-52881. Об этом сообщил инженер проекта Open Container Initiative Алексa Сарай в рассылке oss-sec.
Ошибки позволяют злоумышленнику при определённых условиях выйти из контейнера и получить доступ к системе с правами root. Проблема затрагивает механизм работы с файловыми дескрипторами и монтированиями внутри контейнера. Например, при подмене /dev/null или /dev/console на символическую ссылку до монтирования можно добиться записи в системные файлы вроде /proc/sysrq-trigger или /proc/sys/kernel/core_pattern. Это даёт возможность выполнять команды на уровне хоста.
Отдельная уязвимость (CVE-2025-52881) позволяет изменять записи в виртуальной файловой системе procfs и обходить средства мандатного контроля безопасности, такие как SELinux и AppArmor. В результате контейнерная изоляция теряет смысл, а злоумышленник получает прямой доступ к хост-системе.
Эксперты отмечают, что атака возможна только при запуске контейнеров с нестандартными параметрами монтирования и без включённого режима user namespace. Однако даже такие сценарии встречаются на корпоративных серверах, где контейнеры запускаются с повышенными правами или от имени root.
Разработчики уже выпустили исправления: безопасные версии runC включают 1.2.8, 1.3.3 и 1.4.0-rc.3. Пользователям рекомендуется немедленно обновиться, а также пересмотреть конфигурации контейнеров: отказаться от запуска от root-пользователя, включить rootless-режим и ограничить доступ к системным устройствам в /dev и /proc.
Случаев активной эксплуатации пока не зафиксировано, но специалисты предупреждают: уязвимости затрагивают ключевое звено экосистемы контейнеров, а потому риск быстрорастущий. Обновления должны быть установлены до того, как уязвимости появятся в арсенале злоумышленников.