Seguridad

Vulnerabilidad SSTI encontrada en AutoGPT

AutoGPT es una herramienta avanzada de inteligencia artificial con más de 174.000 estrellas en GitHub que emplea modelos de lenguaje como GPT-4 para realizar tareas complejas de forma autónoma. Su particularidad radica en que es capaz de generar objetivos, planificar pasos intermedios y ejecutar acciones específicas por sí misma, gestionando todo el proceso de forma integral.

A diferencia de otros sistemas de IA que suelen limitarse a responder consultas concretas, AutoGPT puede gestionar proyectos completos. Establece metas claras, divide estos objetivos en tareas más pequeñas, investiga, organiza información y presenta resultados coherentes.

Actualmente, esta herramienta se emplea principalmente en contextos experimentales y académicos, con el propósito de explorar el potencial de la inteligencia artificial autónoma en la generación de informes, investigación independiente, automatización de procesos y otras actividades que tradicionalmente requieren mayor supervisión humana.

CVE-2025-1040 (Vulnerabilidad SSTI)

El CVE-2025-1040 es una vulnerabilidad de Server-Side Template Injection (SSTI) identificada en AutoGPT que permite la ejecución de código en el servidor. En las versiones afectadas (AutoGPT <= 0.3.4), el componente AgentOutputBlock maneja incorrectamente la entrada de datos proporcionados por el usuario e inserta estas cadenas directamente en el motor de plantillas Jinja2 sin las medidas de seguridad adecuadas. Esto significa que un atacante puede incluir sintaxis de plantilla Jinja2 maliciosa en campos o configuraciones que AutoGPT use para formatear salidas. Al procesar dicha plantilla, Jinja2 evaluará la expresión incrustada y ejecutará código no deseado en el lado del servidor en lugar de tratarla como texto plano. En resumen, la vulnerabilidad aprovecha que AutoGPT confía en una plantilla proporcionada externamente y la renderiza con Jinja2, lo que permite la ejecución de comandos arbitrarios en el servidor.

Este fallo ha sido corregido en la versión 0.4.0 de AutoGPT, donde se introdujeron protecciones en el manejo de plantillas para evitar la inyección de código.

Como ejemplo de prueba de concepto (POC) hemos utilizado una captura final de esta explotación, donde podemos ver que el atacante ha creado un bloque de plantilla y ha añadido el código malicioso en ella (ejecutando el comando “id”).


Fuente: https://huntr.com/bounties/b74ef75f-61d5-4422-ab15-9550c8b4f185

Vectores de ataque

La explotación de CVE-2025-1040 puede realizarse de forma remota a través de la red, sin necesidad de interacción adicional de la víctima y con baja complejidad según el vector CVSS​. (CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H).

Para lograrlo, el atacante necesita que su entrada maliciosa sea procesada por el mecanismo de plantillas vulnerable. Algunos escenarios posibles de ataque son:

  • Entrada directa a la aplicación: si AutoGPT se ejecuta expuesto como un servicio web (por ejemplo, una API o interfaz que reciba datos de usuarios), un atacante remoto podría enviar en un parámetro o campo de texto una cadena con sintaxis Jinja2 maliciosa. Al ser procesada por el AgentOutputBlock desencadenaría la ejecución de código en el servidor. Esto no requiere credenciales privilegiadas (PR:L) ni acciones adicionales por parte de un usuario legítimo​.
  • Archivos o configuraciones importadas: AutoGPT permite importar configuraciones de «agentes» o flujos de tareas (por ejemplo, a través de un archivo de agente o una “marketplace” de agentes). Un actor malicioso podría engañar a un usuario para que importe una configuración de agente manipulada que contenga una plantilla maliciosa. Cuando el usuario ejecute ese agente, la plantilla maliciosa se renderizará y ejecutará código en el sistema. En este vector, el atacante necesita utilizar ingeniería social para que la víctima utilice un archivo o configuración manipulada, pero no necesita explotar vulnerabilidades adicionales una vez la plantilla es procesada.

En todos los casos, la condición necesaria es que el atacante pueda controlar (total o parcialmente) el contenido de una plantilla o cadena de formato que AutoGPT va a renderizar. Dado que la vulnerabilidad reside en la lógica interna de formateo, cualquier punto de entrada de datos que termine en AgentOutputBlock es un posible vector de explotación​.

Más información:

La entrada Vulnerabilidad SSTI encontrada en AutoGPT se publicó primero en Una Al Día.

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.