CVE-2025-31491

AutoGPT is a platform that allows users to create, deploy, and manage continuous artificial intelligence agents that automate complex workflows. Prior to 0.6.1, AutoGPT allows of leakage of cross-domain cookies and protected headers in requests redirect. AutoGPT uses a wrapper around the requests python library, located in autogpt_platform/backend/backend/util/request.py. In this wrapper, redirects are specifically NOT followed for the first request. If the wrapper is used with allow_redirects set to True (which is the default), any redirect is not followed by the initial request, but rather re-requested by the wrapper using the new location. However, there is a fundamental flaw in manually re-requesting the new location: it does not account for security-sensitive headers which should not be sent cross-origin, such as the Authorization and Proxy-Authorization header, and cookies. For example in autogpt_platform/backend/backend/blocks/github/_api.py, an Authorization header is set when retrieving data from the GitHub API. However, if GitHub suffers from an open redirect vulnerability (such as the made-up example of https://api.github.com/repos/{owner}/{repo}/issues/comments/{comment_id}/../../../../../redirect/?url=https://joshua.hu/), and the script can be coerced into visiting it with the Authorization header, the GitHub credentials in the Authorization header will be leaked. This allows leaking auth headers and private cookies. This vulnerability is fixed in 0.6.1.
Configurations

Configuration 1 (hide)

cpe:2.3:a:agpt:autogpt:*:*:*:*:*:*:*:*

History

21 May 2025, 20:25

Type Values Removed Values Added
Summary (es) 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 la fuga de cookies entre dominios y encabezados protegidos en las redirecciones de solicitudes. AutoGPT utiliza un contenedor en torno a la librería de solicitudes de Python, ubicada en autogpt_platform/backend/backend/util/request.py. En este contenedor, las redirecciones NO se siguen específicamente para la primera solicitud. Si el contenedor se utiliza con allow_redirects establecido en True (valor predeterminado), cualquier redirección no se sigue en la solicitud inicial, sino que se vuelve a solicitar mediante el contenedor utilizando la nueva ubicación. Sin embargo, existe una falla fundamental al volver a solicitar manualmente la nueva ubicación: no tiene en cuenta los encabezados sensibles a la seguridad que no deben enviarse entre orígenes, como los encabezados de Autorización y Autorización de Proxy, y las cookies. Por ejemplo, en autogpt_platform/backend/backend/blocks/github/_api.py, se establece un encabezado de autorización al recuperar datos de la API de GitHub. Sin embargo, si GitHub presenta una vulnerabilidad de redirección abierta (como el ejemplo ficticio de https://api.github.com/repos/{owner}/{repo}/issues/comments/{comment_id}/../../../../../redirect/?url=https://joshua.hu/), y se puede obligar al script a acceder a él con el encabezado de autorización, se filtrarán las credenciales de GitHub en dicho encabezado. Esto permite la filtración de encabezados de autenticación y cookies privadas. Esta vulnerabilidad se corrigió en la versión 0.6.1. (es) 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 la fuga de cookies entre dominios y encabezados protegidos en las redirecciones de solicitudes. AutoGPT utiliza un contenedor en torno a la librería de solicitudes de Python, ubicada en autogpt_platform/backend/backend/util/request.py. En este contenedor, las redirecciones NO se siguen específicamente para la primera solicitud. Si el contenedor se utiliza con allow_redirects establecido en True (valor predeterminado), cualquier redirección no se atiende en la solicitud inicial, sino que se vuelve a solicitar mediante el contenedor utilizando la nueva ubicación. Sin embargo, existe una falla fundamental al volver a solicitar manualmente la nueva ubicación: no tiene en cuenta los encabezados sensibles a la seguridad que no deben enviarse entre orígenes, como los encabezados de Autorización y Autorización de Proxy, y las cookies. Por ejemplo, en autogpt_platform/backend/backend/blocks/github/_api.py, se establece un encabezado de autorización al recuperar datos de la API de GitHub. Sin embargo, si GitHub presenta una vulnerabilidad de redirección abierta (como el ejemplo ficticio de https://api.github.com/repos/{owner}/{repo}/issues/comments/{comment_id}/../../../../../redirect/?url=https://joshua.hu/), y se puede obligar al script a acceder a él con el encabezado de autorización, se filtrarán las credenciales de GitHub en dicho encabezado. Esto permite la filtración de encabezados de autenticación y cookies privadas. Esta vulnerabilidad se corrigió en la versión 0.6.1.
First Time Agpt
Agpt autogpt
CPE cpe:2.3:a:agpt:autogpt:*:*:*:*:*:*:*:*
CWE CWE-601
References () https://github.com/Significant-Gravitas/AutoGPT/security/advisories/GHSA-ggcm-93qg-gfhp - () https://github.com/Significant-Gravitas/AutoGPT/security/advisories/GHSA-ggcm-93qg-gfhp - Exploit, Vendor Advisory

15 Apr 2025, 18:39

Type Values Removed Values Added
Summary
  • (es) 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 la fuga de cookies entre dominios y encabezados protegidos en las redirecciones de solicitudes. AutoGPT utiliza un contenedor en torno a la librería de solicitudes de Python, ubicada en autogpt_platform/backend/backend/util/request.py. En este contenedor, las redirecciones NO se siguen específicamente para la primera solicitud. Si el contenedor se utiliza con allow_redirects establecido en True (valor predeterminado), cualquier redirección no se sigue en la solicitud inicial, sino que se vuelve a solicitar mediante el contenedor utilizando la nueva ubicación. Sin embargo, existe una falla fundamental al volver a solicitar manualmente la nueva ubicación: no tiene en cuenta los encabezados sensibles a la seguridad que no deben enviarse entre orígenes, como los encabezados de Autorización y Autorización de Proxy, y las cookies. Por ejemplo, en autogpt_platform/backend/backend/blocks/github/_api.py, se establece un encabezado de autorización al recuperar datos de la API de GitHub. Sin embargo, si GitHub presenta una vulnerabilidad de redirección abierta (como el ejemplo ficticio de https://api.github.com/repos/{owner}/{repo}/issues/comments/{comment_id}/../../../../../redirect/?url=https://joshua.hu/), y se puede obligar al script a acceder a él con el encabezado de autorización, se filtrarán las credenciales de GitHub en dicho encabezado. Esto permite la filtración de encabezados de autenticación y cookies privadas. Esta vulnerabilidad se corrigió en la versión 0.6.1.

15 Apr 2025, 00:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-04-15 00:15

Updated : 2025-05-21 20:25


NVD link : CVE-2025-31491

Mitre link : CVE-2025-31491

CVE.ORG link : CVE-2025-31491


JSON object : View

Products Affected

agpt

  • autogpt
CWE
CWE-200

Exposure of Sensitive Information to an Unauthorized Actor

CWE-601

URL Redirection to Untrusted Site ('Open Redirect')