AutoJack: Nueva vulnerabilidad permite ejecución remota desde una página web

Publicado el

Vulnerabilidad en AutoGen Studio

Investigadores de Microsoft han revelado una cadena de explotación conocida como AutoJack, que permite transformar un agente de navegación basado en inteligencia artificial en un vehículo para la ejecución remota de código. Esta vulnerabilidad facilita que una página web cargada por el agente pueda acceder a servicios locales privilegiados en la misma máquina, permitiendo a un atacante ejecutar comandos sin necesidad de autenticación.

Cómo funciona el ataque

La explotación de AutoJack se basa en tres debilidades en el MCP WebSocket. La primera debilidad es que el socket confía en localhost, un chequeo diseñado para impedir que un navegador normal acceda a un sitio malicioso. Sin embargo, un agente de navegación que opera en la misma máquina es considerado localhost, lo que permite que cualquier contenido que se cargue herede esta identidad y pase la verificación.

La segunda debilidad radica en que el middleware de autenticación omite las rutas del MCP, bajo la suposición equivocada de que el manejador verificaría los tokens de forma independiente. Esto no sucede, permitiendo conexiones no autenticadas a pesar de la configuración de seguridad.

Por último, el punto final del WebSocket ejecuta comandos directamente desde un parámetro de solicitud sin validar qué ejecutables pueden lanzarse, lo que permite que una página en Internet pueda ejecutar un comando elegido por el atacante bajo la cuenta que ejecuta AutoGen Studio.

Situación actual

Microsoft aclara que esta vulnerabilidad se presenta como un hallazgo de investigación y no ha sido observada en campañas activas. Para demostrar el problema, se utilizó un agente llamado "Web Content Summarizer", que, al recibir un enlace malicioso, ejecutaba calc.exe en el escritorio del desarrollador mediante el proceso de AutoGen Studio.

Los mantenedores del proyecto han endurecido el código en la rama principal, pero todavía no hay una versión de PyPI que contenga esta corrección. El problema afecta a las versiones pre-lanzadas 0.4.3.dev1 y 0.4.3.dev2, que sí incluían la ruta vulnerada, mientras que la versión estable 0.4.2.2 no presenta dicha vulnerabilidad.

Recomendaciones de seguridad

Los usuarios que hayan instalado AutoGen Studio mediante un simple comando `pip install autogenstudio` están a salvo, ya que obtienen la versión 0.4.2.2, que no tiene la ruta MCP. Sin embargo, aquellos que usaron una versión pre-lanzada deben actualizarse desde la rama principal en GitHub a partir del commit b047730, que contiene la solución real al problema.

Para minimizar el riesgo, se recomienda no ejecutar AutoGen Studio en la misma máquina que un agente de navegación o de ejecución de código que interactúe con contenido no confiable. Si es imprescindible que ambos se ejecuten juntos, es preferible aislarlos en contenedores o máquinas virtuales, y operar AutoGen Studio bajo una cuenta de bajo privilegio.

Consideraciones finales

Microsoft prevé que patrones similares puedan encontrarse en otros frameworks de agentes, donde un servicio local tiene demasiado poder y la verificación de localhost se trata como una medida de seguridad. La importancia de autenticar adecuadamente y mantener los procesos de ejecución detrás de una lista blanca es crucial para prevenir este tipo de vulnerabilidades. La confianza en localhost como límite de seguridad es un enfoque que necesita ser reevaluado en el desarrollo de software moderno.

Fuente

Ver noticia original