Una vulnerabilidad de alta gravedad en Amazon Q Developer permitía que un repositorio malicioso ejecutara comandos y robara las credenciales en la nube de un desarrollador. El camino era corto: el desarrollador abría el repositorio, confiaba en el espacio de trabajo y Amazon Q hacía el resto. Amazon ya ha lanzado un parche.

Rastreada como CVE-2026-12957 (puntuación CVSS 8.5), la falla se encontraba en la forma en que el asistente de codificación con IA de Amazon manejaba los servidores del Protocolo de Contexto de Modelo (MCP). Wiz Research, que descubrió y reportó el fallo, demostró que un único archivo de configuración en un repositorio era suficiente para pasar de un git clone a un compromiso en la nube.

Cómo funcionaba el ataque

Amazon Q leía un archivo de configuración MCP, .amazonq/mcp.json, del espacio de trabajo abierto y lanzaba los servidores que definía. Los servidores MCP son procesos locales que un asistente de IA puede generar para acceder a bases de datos, API o herramientas de compilación, por lo que iniciar uno implica ejecutar comandos en la máquina.

Esos procesos heredaban el entorno completo del desarrollador, lo que normalmente incluye claves de AWS, tokens de CLI de la nube, secretos de API y sockets del agente SSH. Al combinar ambos, un archivo en un repositorio clonado podía ejecutar código arbitrario con la sesión activa en la nube del desarrollador, sin necesidad de contraseña ni segundo inicio de sesión.

En su prueba de concepto, Wiz hizo que el archivo ejecutara aws sts get-caller-identity y enviara la salida a un servidor atacante, capturando la sesión activa de AWS. Lo que sigue depende de los permisos en la nube del desarrollador: puerta trasera a un usuario de IAM para persistencia, acceso a servicios internos o pivote hacia producción.

AWS y Wiz enmarcan el paso de consentimiento de manera diferente. El aviso de AWS dice que el usuario debe confiar en el espacio de trabajo cuando se le solicite, y la puntuación CVSS considera la interacción del usuario como pasiva. Wiz reportó que no había un paso de consentimiento separado para los propios servidores MCP antes de la corrección. El parche cierra esa brecha: Amazon Q ahora marca un servidor MCP no confiable y permite que el desarrollador rechace el comando antes de que se ejecute.

La vulnerabilidad reside en Language Servers for AWS, el tiempo de ejecución que impulsa a Amazon Q en VS Code, JetBrains, Eclipse y Visual Studio. Los cuatro complementos incluyen este paquete, por lo que todos estaban expuestos en versiones que incluían una copia anterior.

Qué hacer

Actualizar. CVE-2026-12957 está corregido en Language Servers for AWS 1.65.0, pero el boletín de AWS recomienda a los clientes migrar a la versión 1.69.0. Esta compilación también cierra un segundo problema, CVE-2026-12958, una falta de verificación de enlaces simbólicos que podría permitir escrituras arbitrarias de archivos fuera del límite de confianza del espacio de trabajo.

Las versiones mínimas parcheadas de los complementos son: VS Code 2.20 o posterior, JetBrains 4.3 o posterior, Eclipse 2.7.4 o posterior, y Visual Studio toolkit 1.94.0.0 o posterior. El servidor de lenguaje se actualiza automáticamente a menos que la red lo bloquee, y al recargar el IDE se obtiene la última compilación.

No se conoce explotación pública; la entrada de ADP de CISA para CVE-2026-12957 la lista como ninguna. Wiz encontró la falla mediante investigación y la divulgó en coordinación con Amazon, reportándola el 20 de abril y viendo una corrección el 12 de mayo, antes de la publicación pública del 26 de junio.

Un patrón, no un caso aislado

Amazon Q no es el primer asistente de codificación que tropieza con la confianza en MCP. Los errores no son idénticos, pero riman: la configuración del proyecto se convierte en comportamiento ejecutable, y las comprobaciones de confianza en torno a esa transferencia siguen fallando. Claude Code (CVE-2025-59536) y Cursor (CVE-2025-54136) tenían configuraciones MCP a nivel de proyecto que llevaban a la ejecución de comandos. Windsurf (CVE-2026-30615) llegó al mismo fin por un camino diferente, con contenido controlado por el atacante que reescribía la configuración local de MCP para registrar un servidor malicioso.

La conveniencia de permitir que una carpeta de proyecto configure un agente de IA es también la superficie de ataque. La configuración transportada por el repositorio es entrada no confiable. Convertirla en un proceso en ejecución debería requerir un sí explícito.

Cybersecurity
Cybersecurity
Cybersecurity
Cybersecurity