Патч для уязвимости в Kubernetes оказался неэффективным

0

Патч для уязвимости в Kubernetes оказался неэффективным

Выпущенное разработчиками обновление не закрывает все возможности атак.


В минувшем году разработчики популярного фреймворка для контейнерной оркестровки Kubernetes выпустили обновление, устраняющее уязвимость обхода каталога (CVE-2018-1002100), предоставлявшую возможность внедрить произвольные файлы на систему с помощью вредоносных контейнеров. Однако, проанализировав патч, специалисты компании Twistlock выявили , что он оказался неполным и не закрывает все возможности атак.

Новая уязвимость получила идентификатор CVE-2019-1002101. Обе проблемы связаны с интерфейсом командной строки kubectl для управления Kubernetes, в частности, с командой cp, используемой для копирования файлов. Во время процесса копирования в контейнере создается бинарный файл tar, который затем передается по сети и распаковывается kubectl на устройстве пользователя.

Если злоумышленнику удастся разместить вредоносный файл tar в контейнере, он сможет проэксплуатировать уязвимости, внедрить произвольные файлы в любую локацию на системе и похитить конфиденциальную информацию. Кроме того, уязвимость потенциально предоставляет возможность выполнить произвольный код в зависимости от того, с какими правами работает kubectl. Например, если интерфейс запущен с правами суперпользователя, атакующий сможет модифицировать конфигурацию системных файлов, исполняемых при загрузке системы.

Специалисты описали несколько возможных методов атаки: 1) пользователь неосознанно загружает образ контейнера с вредоносным tar файлом, а атакующий может поместить образ в любую подконтрольную ему директорию (например, Docker Hub); 2) атакующий компрометирует запущенный контейнер (проэксплуатировав другую уязвимость либо при наличии легитимного доступа) и заменяет оригинальный tar файл вредоносным.

Разработчики уже исправили проблему с выпуском версий Kubernetes 1.11.9, 1.12.7, 1.13.5 и 1.14.0.