В Kubernetes, популярнейшем решении для развертывания, масштабирования и управления контейнеризированными приложениями, обнаружили первую серьезную уязвимость. Проблема получила идентификатор CVE-2018-1002105 и набрала 9,8 баллов из 10 возможных по шкале CVSS.
Уязвимость обнаружили специалисты компании Rancher Labs, которая разрабатывает Kubernetes-as-a-Service решение Rancher. Баг позволял атакующему установить соединение с API бэкэнда при помощи специально подготовленного сетевого запроса, а затем отправлять произвольные запросы самому бэкэнду. Уязвимые установки Kubernetes позволяли проделать все это, используя учетные данные TLS для API-сервера.
Хуже того, настройки по умолчанию позволяют осуществлять API call’ы как аутентифицированным так и неаутентифицированным пользователям, то есть воспользоваться уязвимостью может буквально кто угодно. Также исследователи предупреждают, что подобные неавторизованные запросы не отражаются в логах API-сервера, то есть обнаружить атаку не так уж легко. Искать информацию о таких запросах нужно в kubelet, причем отличить вредоносную активность от обычных авторизованных запросов и проксирований практически невозможно.
Сообщается, что проблема затрагивала версии 1.0.x-1.9.x, 1.10.0-1.10.10, 1.11.0-1.11.4 и 1.12.0-1.12.2. В настоящее время разработчики уже выпустили исправленные версии v1.10.11, v1.11.5, v1.12.3 и v1.13.0-rc.1., соответственно.
Разработчики Red Hat сообщили, что баг представлял угрозу для продуктов OpenShift, и подготовили собственный отчет об уязвимости, а также ряд бюллетеней безопасности и видео, объясняющее принципы работы атаки.
«Проблема эскалации привилегий позволяет любому пользователю получить полные привилегии администратора в любой ноде, запущенной в pod’е Kubernetes. Это очень серьезно. Злоумышленник может не только похитить конфиденциальные данные или внедрить вредоносный код, но также может атаковать продакшен приложения и сервисы из-за файрвола компании», — подчеркивают специалисты Red Hat.