Vulnerabilidad de Ejecución Remota de Código en Gemini CLI
Gemini CLI (@google/gemini-cli) y la GitHub Action run-gemini-cli presentan vulnerabilidades críticas que permiten ejecución remota de código (RCE) mediante bypass de mecanismos de seguridad. Las vulnerabilidades afectan específicamente a entornos headless como pipelines de CI/CD que procesan contenido no confiable.
Mecanismos de Ataque y Vectores de Explotación
La primera vulnerabilidad surge del comportamiento de confianza automática de carpetas en modo headless. En versiones anteriores, Gemini CLI confiaba automáticamente en carpetas de workspace para cargar configuraciones y variables de entorno, lo que permitía RCE mediante variables maliciosas en directorios .gemini/ locales cuando se procesaban pull requests no confiables.
La segunda vulnerabilidad involucra el bypass de allowlisting de herramientas en modo --yolo. Versiones previas ignoraban listas de herramientas permitidas en ~/.gemini/settings.json, permitiendo ejecución de comandos arbitrarios a través de prompt injection cuando se procesaba contenido no confiable con permisos para run_shell_command.
Impacto y Mitigaciones Implementadas
El impacto se limita a workflows que utilizan Gemini CLI en modo headless, afectando todas las GitHub Actions de Gemini CLI. Las versiones 0.39.1 y 0.40.0-preview.3 implementan mitigaciones que requieren confianza explícita de workspace mediante GEMINI_TRUST_WORKSPACE: 'true' y evaluación estricta de allowlisting incluso en modo --yolo. Los usuarios deben auditar sus workflows y configurar apropiadamente la confianza según el nivel de confiabilidad de sus inputs.
