Уязвимость в Buildah и Podman, позволяющая обойти изоляцию контейнера

В пакетах Buildah и Podman выявлена уязвимость (CVE-2024-1753), позволяющая получить полный доступ к файловой системе хост-окружения на стадии сборки контейнера, запускаемого с правами root. На системах с включённым SELinux доступ к хостовой ФС ограничивается режимом только чтения. Исправление пока доступно в виде патча

Уязвимость вызвана тем, что при выполнении монтирования частей ФС через команду “mount –bind” во время сборки на стадии RUN, аргумент с исходным каталогом (параметр “source”) не проверяется на предмет существования в корневой ФС. Оформленный злоумышленником файл конфигурации Containerfile может использовать образ контейнера, в котором исходный каталог для монтирования оформлен в виде символической ссылки на корневую ФС. В этом случае операция монтирование приведёт к монтированию внутрь контейнера корневой ФС хост-окружения, что позволит на стадии RUN получить полный доступ к файловой системе хост-окружния и организовать выход из контейнера на стадии сборки командами “buildah build” или “podman build”.

Пример вредоносного файла Containerfile, сборка которого командой “podman build -f ~/Containerfile .” приведёт к показу содержимого /etc/passwd и созданию файлов /BIND_BREAKEOUT и /etc/BIND_BREAKOUT2 в хост-окружении:

Release. Ссылка here.