Pillar Security hizo pública el 19 de octubre una falla crítica en OpenCode, el agente de código de Anomaly: durante el inicio de sesión OAuth contra un servidor MCP remoto, la URL que el servidor entrega terminaba dentro de un comando de PowerShell sin escapar. El parche salió el 28 de septiembre, pero sin CVE ni aviso de seguridad.
Cuando un desarrollador autentica OpenCode contra un servidor MCP remoto que usa OAuth, es el propio servidor quien indica el «authorization endpoint», la URL a la que se envía al usuario. En Windows y en WSL, OpenCode pasaba esa URL al paquete auxiliar open para abrir el navegador. Según Pillar, ese ayudante armaba un comando de PowerShell alrededor de la URL sin escapar los caracteres especiales; una URL construida con sintaxis de PowerShell ejecutaba entonces el comando con los privilegios del desarrollador.
Un detalle importante: la carga maliciosa puede viajar dentro de una dirección HTTPS aparentemente normal, así que la comprobación habitual de esquema (solo http/https) no la bloquea. Lo que cerró el hueco fue actualizar la librería, no filtrar la URL.
Pillar reportó el hallazgo en privado el 29 de agosto y lo divulgó el 19 de octubre. Anomaly corrigió el 28 de septiembre dentro de un cambio descrito como refactor del lanzamiento del navegador; ni ese cambio ni las notas de versión mencionan una vulnerabilidad. Según los medios que cubrieron el caso, la empresa respondió que los servidores MCP configurados por el usuario quedan «fuera de su límite de confianza» y que un servidor malicioso está fuera de su modelo de amenazas.
La consecuencia práctica: al no existir CVE, los escáneres de vulnerabilidades no marcarán las instalaciones afectadas. Quien dependa solo de un inventario basado en CVE no se enterará.
La raíz es conocida. El riesgo de inyección de comandos del paquete open en Windows se reportó en 2023 y se corrigió en su versión 11; OpenCode se había quedado en una versión anterior. Un patrón muy parecido ya produjo en 2025 el CVE-2025-6514 en el proxy mcp-remote. Es la misma lección que en otros incidentes de agentes: los datos que entrega un servidor remoto (aquí, una URL) se tratan como confiables y terminan en un intérprete de comandos.
1) Inventariar quién usa OpenCode en Windows o WSL y llevar todo a la 1.18.33 o posterior. 2) Ejecutar opencode mcp list y quitar los servidores MCP remotos que nadie haya revisado. 3) Mantener una lista aprobada de servidores MCP: un dominio que cambia de dueño o un servidor comprometido puede servir la URL maliciosa mucho después de haberlo agregado. 4) No confiar solo en CVE: pedir a los proveedores de herramientas de IA para desarrolladores que comuniquen los parches de seguridad como tales.
Fuentes: Pillar Security (divulgación del 19 de octubre), The Hacker News, Infosecurity Magazine.
Carlos Montiel es arquitecto de soluciones IA empresarial. Implementa LLMs, Agentes, RAG y orquestadores en empresas de Guatemala y Latinoamérica. Contáctalo para una consultoría.
Contactar a Carlos Montiel