CosmosEscape: уязвимость Azure Cosmos DB открывала доступ к базам всех клиентов
Компания Wiz раскрыла уже исправленную уязвимость в Azure Cosmos DB, которая теоретически позволяла атакующему выбраться из песочницы запросов Gremlin и получить полный доступ на чтение и запись к базам данных других клиентов облака. Цепочку эксплуатации исследователи назвали CosmosEscape.
Как работала атака
Отправной точкой служила база Gremlin, подконтрольная атакующему, вместе с учётными данными к ней. Собственный движок Cosmos DB переводит запросы Gremlin в код .NET и исполняет его в ограниченном окружении. По данным Wiz, эти ограничения не учитывали механизм рефлексии .NET — через него исследователи построили примитивы чтения и записи файлов, а затем добились произвольного исполнения кода. В публичном отчёте показан лишь вывод команды hostname, выполненной на бэкенде; сам запрос авторы обещают представить на брифинге Black Hat USA 6 августа.
Исполнение кода происходило на компоненте, который Wiz называет DB Gateway, — он обрабатывает клиентские запросы на многопользовательских кластерах Azure Service Fabric. Сами базы там не хранятся, но шлюз мог извлечь первичный ключ запрошенной учётной записи Cosmos DB, а такой ключ, по документации Microsoft, даёт полный контроль над всеми её ресурсами.
Платформенный ключ
Самое серьёзное — доступному шлюзу был известен подписывающий ключ, который исследователи окрестили Cosmos Master Key. С его помощью можно было получить первичный ключ любой учётной записи в любом тенанте и регионе, независимо от используемого API — SQL, MongoDB, Cassandra или Gremlin. Тот же секрет открывал региональный каталог Config Store с именами учётных записей, идентификаторами подписок и тенантов, сетевыми настройками и тегами. Через него атакующий мог найти аккаунты конкретной организации и запросить их ключи.
Поскольку скомпрометированный шлюз применял сетевые ограничения изнутри сервиса, цепочка могла достичь и приватных, сетево изолированных учётных записей. Доступ на запись к Config Store намекал на возможность менять сетевые настройки, хотя демонстрации против чужого аккаунта в отчёте нет.
Wiz отмечает, что потенциально доступными оказывались и базы, обслуживающие Microsoft Teams и Copilot, которые хранят данные в Cosmos DB, — но доступ к этим данным исследователи не заявляли.
Реакция Microsoft
Uязвимую точку входа Gremlin Microsoft заблокировала в течение 48 часов после сообщения в ноябре 2025 года, а полное исправление во всех регионах вместе с устранением платформенного ключа завершила в июле 2026-го. По итогам проверки компания не нашла несанкционированной активности за пределами тестов исследователей, доступа к данным клиентов не было, никаких действий от них не требуется.
Период потенциальной уязвимости остаётся неизвестным: неясно, когда уязвимый движок попал в продакшн и какой отрезок охватила проверка логов. Идентификатора CVE и оценки серьёзности у CosmosEscape нет. Технически эта цепочка не связана с уязвимостями ChaosDB и CosMiss 2021–2022 годов, которые касались функции Jupyter Notebook в Cosmos DB.
Источник: The Hacker News
Комментарии
Войдите, чтобы комментировать.