OpenCode: un servidor MCP malicioso podía ejecutar código en Windows durante el inicio de sesión OAuth
Pillar Security (divulgado el 19 oct. 2026): un servidor MCP remoto podía inyectar comandos PowerShell mediante la URL de autorización OAuth de OpenCode en Windows/WSL. Corregido en 1.18.33.
¿Qué es?
El 19 de octubre de 2026, Pillar Security (investigación de Eilon Cohen) describió públicamente una falla crítica en OpenCode, el agente de programación con IA de código abierto de Anomaly. En Windows y WSL, un servidor MCP remoto malicioso o secuestrado podía ejecutar comandos con los privilegios del desarrollador cuando este se autenticaba en ese servidor mediante OAuth. Pillar la califica con CVSS 9,8. Se notificó en privado a finales de agosto de 2026 y se corrigió en la versión 1.18.33 el 28 de septiembre de 2026. Las versiones afectadas van de la 1.0.137 a la 1.18.32. Fue cubierta el 20 de octubre (Infosecurity Magazine) y el 22 de octubre de 2026 (The Hacker News).
Cómo funciona
Durante el OAuth de MCP, el servidor proporciona la URL del «endpoint de autorización» que el agente abre en el navegador. En Windows, OpenCode pasaba esa URL a un paquete auxiliar que construía un comando de PowerShell sin escapar correctamente, de modo que partes de una URL manipulada podían interpretarse como comandos. La carga puede ir dentro de una URL HTTPS de apariencia normal, por lo que una simple comprobación del esquema http/https no la detiene. El paso solo se ejecuta al iniciar sesión (por ejemplo con opencode mcp auth); configurar un servidor o abrir una sesión no lo activa. El atacante debe controlar un servidor MCP remoto que el desarrollador haya añadido, por ejemplo tras una toma de control o un cambio de titular del dominio. macOS y Linux no se ven afectados. No se notificó explotación activa.
Por qué importa
Los agentes de programación se ejecutan con las credenciales, los repositorios y la shell del desarrollador, por lo que la ejecución de código equivale a comprometer la estación de trabajo. Pillar señala además que el proveedor considera los servidores MCP configurados por el usuario fuera de su frontera de confianza y no emitió CVE ni aviso, así que los escáneres de dependencias pueden no marcar las instalaciones vulnerables. La corrección llegó en un cambio descrito como refactorización del lanzamiento del navegador, fácil de pasar por alto en las notas de versión.
Defensas
- Actualice a OpenCode 1.18.33 o posterior y confirme que incluye la corrección de escape de la dependencia subyacente.
- Revise los servidores remotos configurados con
opencode mcp listy elimine los que no pueda avalar. - Trate toda URL suministrada por un servidor remoto como no confiable: nunca la interpole en una cadena de shell; lance el navegador con ejecución de procesos con argumentos separados.
- No se base solo en listas de esquemas permitidos para validar URL.
- Inventaríe las herramientas de agente por versión aunque no exista CVE.
Estado
| Aspecto | Detalle |
|---|---|
| Investigador | Pillar Security |
| Notificado / corregido / público | Fin ago. 2026 / 28 sep. 2026 (1.18.33) / 19 oct. 2026 |
| Afectado | OpenCode 1.0.137 – 1.18.32, Windows y WSL |
| Identificador | Sin CVE ni aviso publicado |