Исследователи из Tenable обнаружили две серьезные уязвимости в Google Looker, платформе бизнес-аналитики, которую используют более 60 000 организаций в 195 странах. Проблема получила кодовое имя LookOut. Первая брешь позволяет хакеру с правами разработчика получить полный контроль над сервером и выполнить любой код. Вторая открывает доступ к внутренней базе данных Looker со всеми паролями и настройками. Google быстро закрыл дыры в облачной версии, но владельцы локальных инсталляций должны обновиться вручную - иначе их данные под угрозой.
Информация
Looker - это платформа для анализа данных и построения интерактивных дашбордов, купленная Google в 2019 году за 2.6 миллиарда долларов. Компании используют её как центральную нервную систему для работы с корпоративной информацией: финансовые отчёты, данные клиентов, метрики продаж, аналитика продуктов. Looker подключается к десяткам источников данных - от Google BigQuery до PostgreSQL и MySQL - и позволяет строить запросы на собственном языке LookML.
Looker существует в двух вариантах. SaaS-версия в Google Cloud, где инфраструктуру обслуживает сам Google и локальная инсталляция, когда компания разворачивает Looker на своих серверах или в приватном облаке. Именно владельцы второго варианта сейчас в зоне риска, потому что им нужно самостоятельно ставить патчи.
Первая уязвимость: удалённое выполнение кода через Git-хуки
Наиболее критичная уязвимость, это цепочка RCE (Remote Code Execution), которая даёт злоумышленнику полный контроль над сервером Looker. Атака эксплуатирует механизм работы с Git-репозиториями в LookML-проектах.
Looker позволяет разработчикам подключать удалённые зависимости через файл manifest.lkml. Злоумышленник может указать в параметре remote_dependency имя с последовательность для обхода директорий (path traversal), например, ../../, что манипулирует настройкой hooksPath в файле .git/config проекта. Это позволяет перенаправить директорию с Git-хуками на произвольное место в файловой системе.
Дальше атакующий создаёт собственную директорию git_hooks и перезаписывает конфигурацию .git/config через манипуляции с параметром ref. Затем эксплуатируется состояние гонки (race condition) между легитимной операцией git commit и вредоносной записью файла. В результате Looker выполняет команды из контролируемого хакером Git-хука раньше, чем система успевает перезаписать вредоносную конфигурацию.
Итог, полный контроль над сервером. Злоумышленник может украсть секреты и учётные данные, манипулировать данными, двигаться дальше по внутренней сети компании или, в случае облачных инстансов, пробовать нарушить изоляцию между изолированными окружениями и получить доступ к данным других клиентов.
Вторая уязвимость: кража внутренней базы данных
SQL-инъекция, получившая идентификатор CVE-2025-12743. Она позволяет пользователю с правами разработчика похитить всё содержимое внутренней MySQL-базы Looker.
Уязвимость находится в эндпоинте (API endpoint) для создания новых проектов из подключений к базам данных. Система позволяет указать looker как имя подключения - а это зарезервированное внутреннее имя для собственной MySQL-базы Looker. Параметр schemas не фильтруется должным образом, что открывает возможность для SQL-инъекции. Хакер может ввести вредоносный SQL‑запрос, который выполнится прямо на внутренней базе.
Можно украсть, учётные данные пользователей, токены доступа, конфигурационные секреты, метаданные проектов. Всё, что Looker хранит о себе самом. Эта информация может использоваться для дальнейших атак, повышения привилегий или бокового движения по корпоративной сети.
Затронутые версии и патчи
Обе уязвимости влияют на широкий спектр версий Looker. Облачные инстансы, управляемые Google, уже пропатчены автоматически - никаких действий от пользователей не требуется. Но владельцам self-hosted развёртываний нужно обновиться немедленно.
Для защиты от RCE-цепочки через Git-хуки необходимо установить одну из следующих версий:
- 25.12.30+
- 25.10.54+
- 25.6.79+
- 25.0.89+
- 24.18.209+
Важное уточнение: релизы 25.14 и выше вообще не подвержены этой проблеме.
Для защиты от SQL-инъекции (CVE-2025-12743) нужны такие версии:
- 24.12.106
- 24.18.198+
- 25.0.75
- 25.6.63+
- 25.8.45+
- 25.10.33+
- 25.12.1+
- 25.14+
Все патчи доступны на официальной странице загрузок Looker.
Как определить, был ли взлом
Команда Tenable опубликовала индикаторы компрометации (IoC), которые помогут администраторам понять, подверглись ли они атаке.
- Проверить файловую систему на наличие подозрительных файлов в директории
.git/hooks/внутри папок LookML-проектов. Особое внимание на скрипты с именамиpre-push,post-commitилиapplypatch-msg, которые могли быть размещены злоумышленником. - Изучить логи приложения на предмет аномальных внутренних подключений. Нужно искать SQL-ошибки или паттерны, характерные для SQL‑инъекции с анализом ошибок (error‑based SQL injection), особенно в запросах к внутренним базам вроде
looker__ilooker.
Google отреагировал быстро. Tenable сообщила о находках в рамках программы закрытого уведомления о уязвимостях, и Google оперативно выпустил патчи для облачных инстансов. Затронутым клиентам, использующим локальные инсталляции были отправлены уведомления с рекомендациями по обновлению.
Лив Матан, старший инженер-исследователь Tenable, руководившая открытием, отмечает:
Looker часто выступает центральной нервной системой для самых чувствительных данных организации, поэтому безопасность его базовой архитектуры критична. Но остаётся сложной задачей защитить такие системы, одновременно предоставляя пользователям мощные возможности вроде выполнения SQL или косвенного взаимодействия с файловой системой управляющего инстанса.