Уязвимость в контейнерном софте. Docker, cri-o, containerd, Kubernetes, Podman и flatpak.
В runc, инструментарии для запуска изолированных контейнеров, выявлена критическая уязвимость (CVE-2019-5736), позволяющая из подконтрольного злоумышленнику изолированного контейнера изменить исполняемый файл 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 внутри контейнера внести изменение в исполняемый файл runc на стороне хост-системы.
Для проведения атаки требуется выполнение пользователем с правами root операции создания нового контейнера на основе подготовленного атакующим образа или подключения к существующему контейнеру (достаточно выполнения "docker exec"), к которому ранее атакующий имел доступ на запись. Проблема не блокируется профилем по умолчанию AppArmor и правилами SELinux в Fedora (процессы контейнера запускаются в контексте container_runtime_t). При этом проблема не проявляется при корректном использованием пространств имён идентификаторов пользователя (user namespaces) или при использовании режима "enforcing" SELinux в RHEL 7.

Уязвимость уже устранена в RHEL, Fedora и Ubuntu, но остаётся неисправленной в Debian и SUSE. Решающие проблему патчи подготовлены для runc и LXC. Рабочий прототип эксплоита планируют опубликовать 18 февраля.
Similar content:
show more less
You should to log in

loading