Una issue de GitHub sin privilegios puede comprometer los runners de CI de Claude Code y Gemini CLI
Una issue de GitHub puede ejecutar código en runners CI de Anthropic y Google, afectando a Claude Code y Gemini CLI. Incluye detalles de CVE y correcciones.
Imagen ilustrativa generada con IA
Una investigación de Novee Security ha demostrado que un usuario sin permisos especiales puede aprovechar una issue de GitHub para ejecutar código en los runners de CI utilizados por los repositorios de Anthropic y Google. La técnica también puede alterar el flujo de ejecución de los agentes en los workflows de OpenAI.
Las pruebas analizaron las configuraciones predeterminadas distribuidas por los proveedores. La investigación se presentó en Black Hat USA el 5 de agosto de 2026; la noticia se dio a conocer el 7 de agosto de 2026.
Las fichas de CISA indican exploitation: none para ambos CVE. No existen pruebas de ataques contra objetivos reales.
El problema común está en el harness de los agentes
El fallo afecta al “harness”, el código que conecta el modelo con el sistema operativo, las herramientas y los workflows de CI. Un componente trata un valor como confiable, mientras que otro posterior lo interpreta con privilegios más elevados.
De este modo, un contenido controlado por un usuario externo puede superar los controles y llegar a un punto de ejecución privilegiado. El ataque no depende necesariamente de convencer al modelo para que ejecute un comando: en algunos casos, la infraestructura procesa directamente el payload.
El riesgo aumenta en los repositorios donde las issues pueden activar workflows, los agentes tienen acceso al checkout y los pasos posteriores reutilizan archivos modificados por el agente.
Gemini CLI: command injection antes de la sandbox
Google ha corregido CVE-2026-12537, una vulnerabilidad de command injection en el launcher de contenedores de Gemini CLI. El problema tiene una puntuación de CVSS v4 10.0.
Un atacante sin privilegios podía preparar un archivo .gemini/.env y conseguir la ejecución de comandos en el sistema host de una plataforma de CI headless, antes de que se iniciara la sandbox. No era necesario persuadir al modelo para que ejecutara el comando.
La vulnerabilidad también afectaba a la gestión de la allowlist de herramientas. Los controles se realizaban durante el registro, pero no se aplicaban correctamente en el momento de la ejecución. Además, con la opción --yolo, todos los comandos solicitados por el modelo se aprobaban automáticamente.
Las versiones corregidas son:
- Gemini CLI 0.39.1
- run-gemini-cli 0.1.22
Google incluyó en el mismo advisory la corrección del launcher y la de la allowlist, y especificó que la medida afecta a todas las GitHub Actions de Gemini CLI.
Claude Code: exfiltración de la clave y validador evadible
Anthropic ha corregido CVE-2026-54316, una vulnerabilidad que permitía exfiltrar una clave de API mediante el contador público de descargas de Hugging Face. El secreto podía transmitirse carácter a carácter.
El requisito previo era la presencia de contenido no confiable en el contexto de Claude Code. Anthropic asigna a la vulnerabilidad una puntuación CVSS v4 6.0, nivel Moderate, mientras que NVD indica CVSS v3.1 9.1. Ambas puntuaciones utilizan versiones distintas del sistema CVSS y no son directamente comparables.
La versión corregida es Claude Code 2.1.163. Se consideran afectadas las versiones desde la 0.2.54 hasta la 2.1.163.
Una segunda cadena no recibió un CVE ni una versión corregida indicada públicamente. El validador de comandos eliminaba el texto entre comillas simples antes de ejecutar 23 comprobaciones. Este comportamiento es normalmente correcto para Bash, pero permitía ocultar un payload en el valor de la opción --receive-pack de git push.
A continuación, Git ejecutaba ese parámetro y dejaba el payload sin cambios en el runner. El control se superaba, aunque el comando final podía ejecutar código.
Codex: el riesgo surge al compartir el checkout
En el repositorio openai/codex, dos pasos del agente se ejecutaban en el mismo job y compartían el mismo checkout. El primero podía modificar AGENTS.md, un archivo que el segundo cargaba como conjunto de instrucciones.
Además, un fallo en la validación JSON entre ambos pasos podía iniciar igualmente el segundo agente. Así, un archivo escrito por un paso menos confiable podía influir en la ejecución posterior.
La configuración actual separa los pasos en jobs distintos, utiliza Codex con drop-sudo y establece una sandbox de solo lectura. La documentación de OpenAI considera los archivos de instrucciones del repositorio parte de la entrada no confiable y recomienda ejecutar Codex como último paso del job.
No se ha demostrado que Codex gestione de forma diferente un archivo de instrucciones modificable. La mitigación documentada afecta al workflow y al aislamiento de los pasos.
Cómo reducir el riesgo en los workflows de CI
Los administradores deberían:
- actualizar Gemini CLI a la 0.39.1;
- actualizar
run-gemini-clia la 0.1.22; - actualizar Claude Code a la 2.1.163;
- revisar los workflows que puedan activar issues o usuarios externos;
- tratar
AGENTS.md,.gemini/.envy cualquier otro archivo del repositorio como entrada no confiable; - separar los agentes en jobs distintos;
- utilizar sandboxes de solo lectura y
drop-sudo, cuando estén disponibles; - ejecutar el agente como último paso del job.
También conviene revisar los repositorios en busca de modificaciones inesperadas en los archivos de instrucciones, los workflows y las configuraciones de los agentes. Desde el 18 de junio está disponible un laboratorio público para reproducir el fallo de Claude Code, pero no existen pruebas de explotación operativa de las cadenas descritas.
Fuentes
Este artículo es una reelaboración original basada en las siguientes fuentes.
CVE tratadas en este artículo
- CVE-2026-54316Crítica9.1Claude Code is an agentic coding tool. From 0.2.54 until 2.1.163, because the hostname huggingface.co was pre-approved as a bare hostname for the WebFetch tool, any path on that domain—including attacker-controlled model repositories—was auto-approved without a permission prompt or being subject to
- CVE-2026-12537Alta7.8Improper Neutralization used in an OS Command in the container launcher in Google Gemini CLI (versions prior to 0.39.1) and run-gemini-cli GitHub Action (versions prior to 0.1.22) on headless CI platforms allows an unprivileged attacker to achieve pre-sandbox host-level code execution a maliciously




