Исследователи из компании PureSec обнаружили в облачной платформе Apache OpenWhisk бреши, позволявшие злоумышленнику изменять пользовательские функции при соблюдении определенных условий. Это могло привести к утечке данных или выполнению вредоносных команд при обращении к скомпрометированному коду. На данный момент уязвимости исправлены.

Функции (или действия) запускаются внутри облачных контейнеров Docker в ответ на определенные события. Коммуникация с ними происходит посредством REST-интерфейса через порт 8080. Контейнеры имеют две конечные точки, отвечающие на запросы извне: /init загружает код действия, а /run принимает необходимые для выполнения параметры и запускает его.

Если функция уязвима перед одной из атак, позволяющих отправить через нее специальный HTTP-запрос к /init REST, то взломщик может ее изменить. Отклик от конечной точки при этом не поступает, однако действие оказывается перезаписано. Вот некоторые из багов пользовательских функций, через которые можно проэксплуатировать бреши облачной платформы:

  • уязвимость удаленного выполнения кода;
  • уязвимость межсайтового скриптинга (XSS);
  • подделка запросов состороны сервера (SSRF);
  • небезопасное использование функции eval().

Представители PureSec уведомили авторов платформы OpenWhisk о найденных брешах еще в начале июня. Для отслеживания уязвимостей создали два идентификатора CVE: CVE-2018-11756 и CVE-2018-11757.

Исследователи предложили решить проблему, запретив обращаться к /init REST после изначальной настройки контейнера. Таким образом, функции в него можно записать, но не перезаписать. Разработчикам, использующим Apache OpenWhisk, рекомендуется обновить теги Docker или Git до последней версии.

Облачные контейнеры Docker — лакомый кусочек для злоумышленников. В июне разработчики платформы удалили 17 вредоносных образов, сконфигурированных для майнинга криптовалюты. Некоторые из них продвигались под видом инструментов для работы с продуктами Apache Software Foundation.

Категории: Другие темы, Уязвимости