Исследователи из компании Snyk обнаружили четыре уязвимости, которые могут быть использованы для побега из контейнеров. Проблемы получили общее название Leaky Vessels и затрагивают контейнерную инфраструктуру и инструменты runc и Buildkit.
Поскольку runc или Buildkit используются в широком спектре популярных решений для управления контейнерами, включая Docker и Kubernetes, а также множестве дистрибутивов Linux, исследователи предупреждают о значительных рисках.
В состав Leaky Vessels вошли следующие ошибки.
- CVE-2024-21626: уязвимость типа order-of-operations в команде WORKDIR в runc. Позволяет злоумышленникам выйти из изолированного окружения контейнера, получить несанкционированный доступ к операционной системе хоста и потенциально скомпрометировать всю систему.
- CVE-2024-23651: состояние гонки в Buildkit, приводящее к непредсказуемому поведению, что потенциально позволяет злоумышленнику манипулировать процессом для несанкционированного доступа или нарушить нормальную работу контейнера.
- CVE-2024-23652: проблема, позволяющая удалять произвольные файлы или каталоги на этапе удаления контейнера в Buildkit. Может привести к отказу в обслуживании, повреждению данных или несанкционированному манипулированию данными.
- CVE-2024-23653: уязвимость возникает из-за недостаточной проверки привилегий в интерфейсе GRPC Buildkit. Это может позволить атакующим выполнять действия, выходящие за рамки их прав, что приведет к повышению привилегий или несанкционированному доступу к конфиденциальным данным.
«Эти уязвимости можно использовать только в том случае, если пользователь активно взаимодействует с вредоносным контентом, включая его в процесс сборки или запуская контейнер из подозрительного образа (особенно актуально для уязвимости побега из контейнера CVE-2024-21626)», — поясняют разработчики Docker.
Сообщается, что 31 января 2024 года разработчики Buildkit исправили уязвимости в версии 0.12.5, а в runc устранили проблему в версии 1.1.12.
В тот же день вышла новая версия Docker (4.27.0), в которой в движок Moby были включены защищенные версии компонентов с версиями 25.0.1 и 24.0.8.
Разработчики Amazon Web Services, Google Cloud и Ubuntu также опубликовали соответствующие бюллетени безопасности, в которых описали необходимые шаги по устранению уязвимостей.