В инструменте командной строки Google Gemini CLI и связанном с ним GitHub Action run-gemini-cli обнаружена критическая уязвимость, получившая идентификатор CVE-2026-12537. Проблема затрагивает работу с непроверенными репозиториями в средах непрерывной интеграции (CI), работающих в так называемом безголовом режиме - без графического интерфейса. По шкале CVSS v4 уязвимость оценена максимальным баллом, что указывает на крайне серьёзные последствия в случае эксплуатации.
Уязвимость CVE-2026-12537
Как следует из бюллетеня безопасности Google, в версиях @google/gemini-cli до 0.39.1 и run-gemini-cli до 0.1.22 использовался механизм автоматического доверия к рабочей папке (workspace) при запуске в безголовом режиме. Это означало, что конфигурационные файлы и переменные окружения из директории .gemini загружались без явного согласия пользователя. В типовых CI-сценариях, где обрабатываются входящие pull request или другое непроверенное содержимое репозиториев, такое поведение позволяло злоумышленнику разместить в репозитории поддельный файл .gemini/.env, который интерпретировался как легитимная настройка. В результате до применения каких-либо средств "песочницы" (изоляции процессов) атакующий получал возможность выполнить произвольные команды на самом узле CI.
Национальная база данных уязвимостей (NVD) подтверждает: непривилегированный злоумышленник может добиться выполнения кода на уровне хоста до активации песочницы, используя внедрение команд операционной системы через контейнерный загрузчик Gemini CLI. Усугубляет ситуацию обработка списка разрешённых инструментов в режиме --yolo: ранее система игнорировала тонкие ограничения, заданные в файле ~/.gemini/settings.json. Если в рабочем процессе допускалось выполнение команды run_shell_command при обработке непроверенных данных, атакующий мог манипулировать запросом (prompt) и, пользуясь некорректно настроенным белым списком, запустить произвольные команды. Это превращает AI-ассистируемые конвейеры CI в потенциальный вектор атак на цепочку поставок (supply-chain attack).
Проблема затрагивает несколько категорий общих недостатков безопасности, в том числе некорректную проверку входных данных (CWE-20), внедрение команд (CWE-77), внедрение команд операционной системы (CWE-78) и раскрытие чувствительной информации (CWE-200). Все эти категории указывают на то, что эксплуатация уязвимости может привести не только к компрометации узла CI, но и к боковому перемещению по сети, а также к утечке данных.
Google выпустила обновления, исправляющие уязвимость: версии @google/gemini-cli 0.39.1 и 0.40.0-preview.3, а также google-github-actions/run-gemini-cli 0.1.22. Все предыдущие версии Action считаются подверженными проблеме. Исправление синхронизирует поведение безголового режима с интерактивным: теперь для обработки конфигурационных файлов, таких как .env, требуется явно подтвердить доверие к папке.
Для безопасной работы с проверенными данными Google рекомендует в рабочих процессах устанавливать переменную GEMINI_TRUST_WORKSPACE: 'true'. Тем, кто обрабатывает непроверенное содержимое, следует строго соблюдать руководство по усилению защиты в репозитории run-gemini-cli и настраивать жёсткие списки разрешённых инструментов, которые бы сохраняли силу даже в режиме --yolo.
Исследователи из компаний Novee Security и Pillar Security, отмеченные в программе вознаграждения за обнаружение уязвимостей Google, подчёркивают: среды CI/CD, использующие Gemini CLI, должны рассматривать эту уязвимость как риск для цепочки поставок и немедленно провести аудит своих конвейеров на предмет небезопасных допущений о доверии, а также на устаревшие версии инструментов. На фоне растущего применения AI-агентов в процессах разработки и развёртывания подобные проблемы становятся особенно актуальными, поскольку автоматическая обработка запросов и конфигураций в непроверенных репозиториях может открыть злоумышленникам прямой доступ к инфраструктуре ещё до того, как сработают штатные механизмы защиты.
Ссылки