Специалисты Google Cloud исправили уязвимость, которая могла использоваться злоумышленником, имеющим доступ к кластеру Kubernetes, для повышения своих привилегий.
«Злоумышленник, скомпрометировавший контейнер Fluent Bit, мог объединить этот доступ с более высокими привилегиями, необходимыми для Anthos Service Mesh (в кластерах, где это доступно), чтобы повысить свои привилегии в кластере», — рассказывают в компании.
То есть ключевым условием, необходимым для эксплуатации этой уязвимости, является заблаговременная компрометация FluentBit, которую атакующему пришлось бы осуществить каким-то другим способом.
Обнаружившие эту уязвимость исследователи Palo Alto Networks заявили, что злоумышленники могли использовать ее для «кражи данных, развертывания вредоносных подов и нарушения работы кластера».
«GKE использует Fluent Bit для обработки workload-логов, в кластерах, — объясняют в Google. — Также Fluent Bit в GKE настроен на сбор workload-логов для Cloud Run. Это давало Fluent Bit доступ к токенам сервисных аккаунтов Kubernetes для других подов, запущенных на узле».
Это означает, что злоумышленник мог использовать такой доступ для получения привилегированного доступа к кластеру Kubernetes с включенным ASM, а затем использовать токен сервисного аккаунта ASM для повышения привилегий (путем создания нового пода с привилегиями администратора кластера).
Специалисты не обнаружили никаких признаков того, что проблему уже эксплуатировали хакеры. Баг был устранен в следующих версиях Google Kubernetes Engine (GKE) и Anthos Service Mesh (ASM):
- 25.16-gke.1020000;
- 26.10-gke.1235000;
- 27.7-gke.1293000;
- 28.4-gke.1083000;
- 17.8-asm.8;
- 18.6-asm.2;
- 19.5-asm.4.
В качестве исправления Google удалила доступ Fluent Bit к токенам и перестроила функциональность ASM таким образом, чтобы избавиться от избыточных RBAC-разрешений.