Una vulnerabilidad en el agente de codificación con IA OpenCode permitía que un servidor MCP (Model Context Protocol) malicioso o secuestrado ejecutara código en la máquina de un desarrollador con Windows o WSL durante el proceso de inicio de sesión. OpenCode se conecta a servidores MCP para añadir herramientas externas, y dicho código se ejecutaría con los privilegios del propio desarrollador.
Anomaly, la empresa detrás de OpenCode, corrigió el fallo en la versión 1.18.33 el 28 de septiembre. No solicitó un CVE ni publicó un aviso de seguridad, por lo que los escáneres de vulnerabilidades no marcarán las versiones aún en riesgo: desde la 1.0.137 hasta la 1.18.32.
Durante el inicio de sesión, el propio servidor proporciona la dirección web a la que se envía al usuario, el llamado 'endpoint de autorización' OAuth. En Windows y WSL, OpenCode pasaba esa dirección a un asistente que la abría en un navegador. El asistente construía un comando de PowerShell alrededor de la dirección sin escaparla, por lo que una dirección diseñada para transportar un comando de PowerShell ejecutaría dicho comando.
El paso del navegador solo se ejecuta cuando un desarrollador inicia el inicio de sesión, mediante la ejecución de 'opencode mcp auth' o la realización de la solicitud correspondiente. Tener el servidor configurado o abrir una sesión no llega a ese punto.
El atacante necesita controlar un servidor MCP remoto que el desarrollador haya añadido, y ese servidor no tiene por qué ser hostil desde el principio. Uno que sea posteriormente comprometido, o un dominio que cambie de manos, podría llevar la misma dirección.
Pillar Security, que descubrió el fallo y lo divulgó el 19 de octubre, lo califica como crítico, con una puntuación de gravedad propuesta de 9.8 sobre 10.
El fallo afecta a OpenCode en Windows y en el Subsistema de Windows para Linux (WSL). macOS y Linux no se ven afectados, porque OpenCode abre el navegador allí sin pasar la dirección a través de un shell.
OpenCode distribuyó la corrección como un cambio rutinario. La solicitud de extracción que la contenía se describe como una refactorización del código de lanzamiento del navegador, y ni ella ni las notas de la versión mencionan un fallo de seguridad.
Anomaly no solicitó un CVE ni publicó un aviso. Su política de seguridad establece que los servidores MCP que un usuario configura están 'fuera de nuestro límite de confianza'.
Pillar informó del fallo de forma privada el 29 de agosto y posteriormente pidió a Anomaly que reconsiderara y solicitara un CVE. La respuesta de Anomaly fue que un servidor MCP malicioso queda fuera de su modelo de amenazas, según Pillar.
Al no haber CVE, el fallo no aparecerá en escáneres ni en alertas de dependencias, por lo que encontrar instalaciones afectadas requiere verificar directamente la versión de OpenCode. Anomaly ha publicado avisos para otros fallos de ejecución de código de OpenCode este año, incluido uno corregido en agosto.
Este tipo de fallo ya ha aparecido antes. En julio de 2025, el proxy mcp-remote tenía un error casi idéntico, en el que el endpoint de autorización de un servidor malicioso llegaba a la línea de comandos. Se le asignó CVE-2025-6514.
El asistente de navegador de OpenCode es un paquete ampliamente utilizado llamado 'open'. Su comportamiento en Windows se informó como riesgo de inyección de comandos en 2023 y se corrigió en la versión 11 de 'open', pero OpenCode se quedó en una versión anterior.
La defensa habitual para esta clase de fallos es comprobar que la dirección utilice HTTP o HTTPS. No ayuda en este caso, porque el ataque utiliza una dirección HTTPS ordinaria. OpenCode también añadió esa comprobación, pero el agujero se cerró al actualizar a la versión corregida.
Qué hacer
Cualquiera que ejecute OpenCode en Windows o WSL debe actualizar y comprobar a qué servidores está conectado.
- Actualizar a OpenCode 1.18.33 o posterior.
- Si aún no puede actualizar, elimine de su configuración de OpenCode los servidores MCP remotos que no haya verificado.
- Ejecute 'opencode mcp list' para ver qué servidores están configurados.
Pillar no ha encontrado indicios de que el fallo se haya utilizado en ataques y no ha publicado indicadores para comprobar una explotación pasada. El fallo es independiente de una brecha en la consola alojada de OpenCode divulgada casi al mismo tiempo, que pudo haber expuesto algunas claves API almacenadas de usuarios para OpenAI, Anthropic y Google.




















Deja una respuesta