Claude Code y Gemini CLI: Fallos permiten que un issue de GitHub llegue a los secretos de los flujos de CI

Un simple issue de GitHub, abierto por una cuenta sin privilegios en el repositorio, bastó para ejecutar código en los runners de integración continua (CI) de los repositorios de los agentes de codificación de Anthropic y Google. En el caso de OpenAI, el ataque permitió secuestrar la siguiente ejecución del agente. La firma Novee Security ejecutó el ataque contra el agente de cada proveedor en la configuración predeterminada que distribuyen, y presentó sus hallazgos en Black Hat USA el pasado 5 de agosto. Se emitieron dos CVEs, ambos ya parcheados.

Gemini CLI presenta la vulnerabilidad más grave. El CVE-2026-12537 (CVSS 4: 10.0) es una inyección de comandos del sistema operativo en el lanzador de contenedores, alcanzada mediante un archivo .gemini/.env manipulado. Esto permite que un atacante sin privilegios ejecute código en el host de una plataforma CI headless antes de que se inicie el sandbox. La corrección está disponible en Gemini CLI 0.39.1 y run-gemini-cli 0.1.22.

En Claude Code, el CVE-2026-54316 convirtió el contador público de descargas de Hugging Face en un canal de exfiltración que filtraba una clave API carácter a carácter. La vulnerabilidad está corregida en la versión 2.1.163, pero afecta a todas las versiones desde la 0.2.54 hasta la 2.1.163. Anthropic afirma que la explotación requería introducir contenido no confiable en el contexto de Claude Code.

El hallazgo en Codex no produjo ni un parche de versión de producto ni un CVE. Novee indica que la postura de OpenAI es que su sandbox se comportó exactamente como está documentado. Se recomienda actualizar Gemini CLI a 0.39.1, run-gemini-cli a 0.1.22 y Claude Code a 2.1.163, y luego auditar cualquier flujo de trabajo que un usuario externo pueda activar.

El error de ejecución en el host de Gemini no requirió convencer a un modelo de nada. En los tres casos, la falla recurrente estaba en el harness, el código entre el modelo y el mundo real, que decide qué se ejecuta realmente: una parte marcaba un valor como seguro, y una parte posterior actuaba sobre ese valor con más autoridad.

El harness es el código entre el modelo y el mundo real, escribió Elad Meged, ingeniero fundador de Novee.

Novee descubrió que el validador de comandos de Claude Code elimina el texto entre comillas simples antes de ejecutar sus 23 comprobaciones, lo cual es un comportamiento correcto para bash. Por lo tanto, una carga útil en el valor de git push –receive-pack, una bandera que git ejecuta, llegó al runner sin modificaciones. Esta cadena no tiene CVE ni una versión corregida declarada públicamente.

Gemini CLI analizaba su lista blanca de herramientas solo al registrar la herramienta; en tiempo de ejecución no se aplicaba, y bajo –yolo cada comando solicitado por el modelo se aprobaba automáticamente. Google abordó tanto eso como la falla del lanzador de contenedores en un solo aviso, que dice que el arreglo 'afecta a todas las GitHub Actions de Gemini CLI'.

Ese aviso aún no muestra ningún CVE; Google Cloud publicó el identificador por separado como CNA, apuntando de vuelta a él. Anthropic califica la falla de Claude Code como Moderada con CVSS v4 6.0, mientras que NVD asignó una puntuación CVSS v3.1 de 9.1. NVD no la ha puntuado bajo v4, por lo que las dos cifras no son comparables.

El hallazgo de Codex es el que no tiene versión que instalar. Novee descubrió que el repositorio openai/codex ejecutaba dos pasadas de Codex dentro de un solo job que compartía un checkout, por lo que la primera pasada podía escribir AGENTS.md, el archivo que la segunda pasada carga como sus propias instrucciones. Fallar la validación JSON entre las pasadas es lo que lanzaba la segunda.

El flujo de trabajo actual de OpenAI separa las pasadas en diferentes jobs y ejecuta Codex con drop-sudo y un sandbox de solo lectura. La guía de OpenAI ahora enumera los archivos de instrucciones del repositorio entre los contenidos que 'deben considerarse parte de la superficie de entrada no confiable', y recomienda ejecutar Codex como último paso en un job, advirtiendo que de lo contrario puede dejar archivos para pasos privilegiados posteriores.

Ninguno de los cambios muestra que Codex en sí mismo maneje de manera diferente un archivo de instrucciones escribible; lo que establecen las fuentes es un arreglo a nivel de flujo de trabajo del repositorio y una actualización de documentación.

La entrada de CISA sobre ambos CVEs de Gemini y Claude Code registra explotación como ninguna, y The Hacker News confirmó el 7 de agosto que ninguno aparece en el catálogo de Vulnerabilidades Explotadas Conocidas de la agencia. También encontró un repositorio público de GitHub que se describe como un laboratorio de reproducción para la falla de Claude Code, disponible desde el 18 de junio. Nada en las fuentes revisadas muestra que alguna cadena se haya utilizado contra un objetivo.

El desarrollo se produce mientras Pillar Security informó el 4 de agosto que los operadores del gusano npm ChainDrop plantaron un hook de inicio de sesión de Claude Code y una tarea de apertura de carpeta de VS Code en repositorios comprometidos, que se activaban cuando un desarrollador abría el espacio de trabajo en lugar de esperar a una instalación.

Cybersecurity
Cybersecurity
Cybersecurity
Cybersecurity

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *