Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en AutoGPT (CVE-2025-31490)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-918 Falsificación de solicitud en servidor (SSRF)
Fecha de publicación:
14/04/2025
Última modificación:
15/04/2025

Descripción

AutoGPT es una plataforma que permite a los usuarios crear, implementar y gestionar agentes continuos de inteligencia artificial que automatizan flujos de trabajo complejos. Antes de la versión 0.6.1, AutoGPT permitía SSRF gracias a la revinculación de DNS en el contenedor de solicitudes. AutoGPT se basa en un contenedor alrededor de la librería de solicitudes de Python, lo que refuerza la aplicación contra SSRF. El código de este contenedor se encuentra en autogpt_platform/backend/backend/util/request.py. Se valida el nombre de host de la URL solicitada, lo que garantiza que no se resuelva a ninguna dirección IPv4 o IPv6 local. Sin embargo, esta comprobación no es suficiente, ya que un servidor DNS podría responder inicialmente con una dirección no bloqueada, con un TTL de 0. Esto significa que la resolución inicial aparecería como una dirección no bloqueada. En este caso, validate_url() devolverá la URL como correcta. Una vez que validate_url() haya devuelto la URL correctamente, esta se pasa a la función request() real. Al llamar a la función request() con la URL validada, request() resolverá de nuevo la dirección del nombre de host, ya que el registro no se habrá almacenado en caché (debido al TTL 0). Esta resolución podría estar en el rango inválido. Este tipo de ataque se denomina "Ataque de Revinculación DNS". Esta vulnerabilidad se corrigió en la versión 0.6.1.