Специалистами безопасности недавно была обнародована информация об исправленной уязвимости высокой степени серьёзности в Kubernetes, которая при определённых обстоятельствах может позволить злоумышленнику осуществлять удалённое выполнение кода с повышенными привилегиями.
“Уязвимость позволяет выполнять удалённый код с системными привилегиями на всех конечных точках Windows в кластере Kubernetes”, – объяснилТомер Пелед, исследователь безопасности компании Akamai. “Чтобы воспользоваться этой уязвимостью, злоумышленнику необходимо применить вредоносные файлы YAML к кластеру”.
Уязвимость, получившая идентификатор CVE-2023-5528 и оцененная по шкале CVSS в 7.2 балла, затрагивает все версии kubelet начиная с 1.8.0. Проблема была устранена в обновлениях, выпущенных 14 ноября 2023 года, для версий kubelet 1.28.4, 1.27.8, 1.26.11 и 1.25.16.
Разработчики Kubernetes в своём сообщенииотметили, что уязвимость касается кластеров, использующих встроенные плагины хранения для узлов Windows, и может привести к полному контролю над всеми Windows-узлами в кластере. Это связано с использованием небезопасного вызова функций и отсутствием санитизации пользовательского ввода, в частности, при работе с локальными томами Kubernetes.
В Akamai объяснили, что злоумышленник может использовать специально подготовленный параметр пути в YAML-файле для инъекции и выполнения команд, используя разделитель команд “&&”. В ответ на уязвимость, команда Kubernetes заменила вызов командной строки на нативную функцию Go, которая выполняет ту же операцию без возможности инъекции.
Стоит отметить, что Kubernetes довольно часто становится мишенью для хакеров, во многом потому, что те или иные уязвимости всплывают там с завидной периодичностью. Так, например, в конце января мы писали об уязвимости Sys:All, позволяющей получить контроль над кластером Kubernetes, используя Google-аккаунт.
Данные инциденты с уязвимостями в Kubernetes подчёркивает важность своевременного обновления программного обеспечения для устранения выявленных брешей безопасности. Разработчики могут оперативно устранять обнаруженные уязвимости, однако в конечном итоге ответственность лежит на администраторах систем, которые должны незамедлительно применять выпускаемые обновления для обеспечения безопасности своих систем.
Поддержание актуального и безопасного программного обеспечения является ключевым аспектом кибербезопасности, особенно в контексте критически важных систем, таких как Kubernetes.