Уязвимость в runc и LXC, затрагивающая Docker и другие системы контейнерной изоляции

В runc, инструмeнтaрии чтобы зaпускa изoлирoвaнныx кoнтeйнeрoв, выявлeнa критичeскaя уязвимoсть (CVE-2019-5736), пoзвoляющaя с пoдкoнтрoльнoгo злoумышлeннику изoлирoвaннoгo кoнтeйнeрa переработать исполняемый файл runc и получить root-льготы на стороне хост-системы. Небезукоризненность затрагивает все системы контейнерной изоляции, использующие runtime runc, включительно Docker, cri-o, containerd, Kubernetes, Podman и flatpak. Равно как отмечается, что аналогичная уязвимость присутствует в инструментариях LXC и Apache Mesos. Фишак уязвимости в возможности запуска исполняемого файла runc в окружении контейнера, так его обработки в контексте хост-системы. Примерно (сказать), атакующий может заменить /bin/bash в контейнере нате скрипт с заголовком "#!/proc/self/exe" река использовать подставную разделяемую библиотеку. Близ выполнении "docker exec" и запуске runtime-ом подменённого /bin/bash в середине контейнера будет выполнен файл /proc/self/exe, какой-никакой на данной стадии ссылается получай исполняемый файл runtime (runc) в хост-окружении. После этого этого атакующий может через модификацию /proc/self/exe изнутри. Ant. снаружи контейнера внести изменение в исполняемый обложка runc на стороне хост-системы. В целях проведения атаки требуется выполнение пользователем с правами root операции создания нового контейнера получи основе подготовленного атакующим образа иначе говоря подключения к существующему контейнеру (достаточно выполнения "docker exec"), к которому перед этим атакующий имел доступ на протокол. Проблема не блокируется профилем точно по умолчанию AppArmor и правилами SELinux в Fedora (процессы контейнера запускаются в контексте container_runtime_t). Рядом этом проблема не проявляется близ корректном использованием пространств имён идентификаторов пользователя (user namespaces) либо — либо при использовании режима "enforcing" SELinux в RHEL 7. Ранимость уже устранена в RHEL, Fedora и Ubuntu, да остаётся неисправленной в Debian и SUSE. Решающие проблему патчи подготовлены исполнение) runc и LXC. Рабочий прототип эксплоита планируют обнародовать 18 февраля. Источник: http://www.opennet.ru/opennews/art.shtml?num=50130