CVE-2026-70474: Flowise: IDOR permite secuestrar credenciales OAuth2

GHSA-wch5-xp77-fxg4 HIGH PoC AVAILABLE CISA: ATTEND
Published August 4, 2026
CISO Take

Flowise, la plataforma drag-and-drop para construir flujos de agentes LLM, resuelve las peticiones a sus endpoints OAuth2 (authorize, callback, refresh) buscando la credencial solo por su UUID, sin comprobar a qué workspace pertenece — y los endpoints callback y refresh ni siquiera exigen autenticación. Esto significa que cualquier usuario autenticado puede iniciar flujos OAuth2 contra credenciales de otros workspaces, y un atacante no autenticado puede forjar un callback para sobrescribir el token almacenado en cualquier credencial o refrescarlo a voluntad, sin necesitar cuenta ni permisos previos. Existe PoC público y CISA SSVC lo clasifica como ATTEND; no está en KEV ni tiene template Nuclei, pero el vector es trivial de automatizar una vez se conoce (o enumera) el UUID de la credencial objetivo, y el paquete acumula 158 CVEs previos, señal de una superficie de ataque históricamente débil. El impacto real es la toma de control de las integraciones de terceros (Gmail, Slack, Google Drive, etc.) conectadas a los flujos de agentes de la víctima. Actualiza a Flowise 3.1.3 de inmediato y rota todas las credenciales OAuth2 almacenadas tras el parche, ya que el token pudo haber sido sobrescrito antes de aplicar la actualización.

Sources: NVD GitHub Advisory EPSS ATLAS

What is the risk?

Severidad alta con vector de explotación de baja complejidad: dos de los tres endpoints vulnerables (callback y refresh) están explícitamente exentos de autenticación, por lo que un atacante externo sin cuenta puede ejecutar el ataque con solo conocer o adivinar el UUID de una credencial OAuth2 objetivo. El EPSS absoluto es bajo (0.00288) pero se sitúa en el percentil 79 de probabilidad de explotación, y ya existe código PoC público, lo que reduce drásticamente la barrera de entrada. No está en CISA KEV ni tiene template Nuclei, por lo que la explotación masiva automatizada aún no está confirmada, pero el patrón IDOR (CWE-863) sobre un endpoint de gestión de credenciales es exactamente el tipo de bug que se weaponiza rápido. El riesgo real para organizaciones que operan Flowise multi-tenant (SaaS propio o instancias compartidas entre equipos) es alto: rompe el aislamiento entre workspaces, un límite de seguridad fundamental en plataformas de agentes IA que gestionan credenciales de terceros por cliente/proyecto.

How does the attack unfold?

Reconocimiento
El atacante identifica una instancia Flowise expuesta y obtiene o enumera el UUID de una credencial OAuth2 objetivo perteneciente a otro workspace.
AML.T0006
Explotación no autenticada
El atacante envía una petición forjada al endpoint público /oauth2-credential/callback con su propio código de autorización y el UUID de la credencial víctima como state, sobrescribiendo el token almacenado.
AML.T0049
Persistencia del acceso
El atacante llama repetidamente a /oauth2-credential/refresh/<UUID> para mantener vigente el token secuestrado incluso si la víctima intenta revocarlo.
AML.T0091.000
Impacto
Los flujos de agente de la víctima que usan esa credencial pasan a operar con la cuenta de terceros del atacante, exponiendo o redirigiendo datos y acciones del servicio conectado (correo, documentos, mensajería).
AML.T0086

What systems are affected?

Package Ecosystem Vulnerable Range Patched
Flowise npm <= 3.1.2 3.1.3

Do you use Flowise? You're affected.

How severe is it?

CVSS 3.1
N/A
EPSS
0.4%
chance of exploitation in 30 days
Higher than 36% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Moderate
Exploitation Confidence
medium
CISA SSVC: Public PoC
Public PoC indexed (trickest/cve)
Composite signal derived from CISA KEV, VulnCheck KEV, CISA SSVC, EPSS, Metasploit, Exploit-DB, trickest/cve, Nuclei templates, and inthewild.io exploitation reports.

What should I do?

1 step
  1. 1) Actualizar a Flowise 3.1.3 o superior de inmediato — es la única corrección real, ya que el bug está en la lógica de autorización del backend. 2) Si no se puede parchear al instante, restringir o bloquear a nivel de proxy/firewall el acceso externo a las rutas /api/v1/oauth2-credential/authorize, /callback y /refresh, y considerar deshabilitar temporalmente credenciales OAuth2 en workflows críticos. 3) Tras aplicar el parche, rotar TODAS las credenciales/tokens OAuth2 almacenados en Flowise, asumiendo que pudieron ser sobrescritos o refrescados por un tercero antes de la corrección. 4) Auditar la tabla Credential buscando updatedAt inesperados o cuentas de terceros vinculadas que no correspondan al owner del workspace. 5) Monitorizar logs de acceso en busca de llamadas repetidas o desde IPs anómalas a los tres endpoints con UUIDs de credencial que no correspondan al tráfico normal del tenant.

What does CISA's SSVC say?

Decision Attend
Exploitation poc
Automatable No
Technical Impact total

Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Article 15 - Accuracy, robustness and cybersecurity
ISO 42001
A.6.2.2 - Seguridad del sistema de IA
NIST AI RMF
MANAGE-4.1 - Mecanismos de monitorización y respuesta a incidentes
OWASP LLM Top 10
LLM07 - Insecure Plugin Design

Frequently Asked Questions

What is CVE-2026-70474?

Flowise, la plataforma drag-and-drop para construir flujos de agentes LLM, resuelve las peticiones a sus endpoints OAuth2 (authorize, callback, refresh) buscando la credencial solo por su UUID, sin comprobar a qué workspace pertenece — y los endpoints callback y refresh ni siquiera exigen autenticación. Esto significa que cualquier usuario autenticado puede iniciar flujos OAuth2 contra credenciales de otros workspaces, y un atacante no autenticado puede forjar un callback para sobrescribir el token almacenado en cualquier credencial o refrescarlo a voluntad, sin necesitar cuenta ni permisos previos. Existe PoC público y CISA SSVC lo clasifica como ATTEND; no está en KEV ni tiene template Nuclei, pero el vector es trivial de automatizar una vez se conoce (o enumera) el UUID de la credencial objetivo, y el paquete acumula 158 CVEs previos, señal de una superficie de ataque históricamente débil. El impacto real es la toma de control de las integraciones de terceros (Gmail, Slack, Google Drive, etc.) conectadas a los flujos de agentes de la víctima. Actualiza a Flowise 3.1.3 de inmediato y rota todas las credenciales OAuth2 almacenadas tras el parche, ya que el token pudo haber sido sobrescrito antes de aplicar la actualización.

Is CVE-2026-70474 actively exploited?

Proof-of-concept exploit code is publicly available for CVE-2026-70474, increasing the risk of exploitation.

How to fix CVE-2026-70474?

1) Actualizar a Flowise 3.1.3 o superior de inmediato — es la única corrección real, ya que el bug está en la lógica de autorización del backend. 2) Si no se puede parchear al instante, restringir o bloquear a nivel de proxy/firewall el acceso externo a las rutas /api/v1/oauth2-credential/authorize, /callback y /refresh, y considerar deshabilitar temporalmente credenciales OAuth2 en workflows críticos. 3) Tras aplicar el parche, rotar TODAS las credenciales/tokens OAuth2 almacenados en Flowise, asumiendo que pudieron ser sobrescritos o refrescados por un tercero antes de la corrección. 4) Auditar la tabla Credential buscando updatedAt inesperados o cuentas de terceros vinculadas que no correspondan al owner del workspace. 5) Monitorizar logs de acceso en busca de llamadas repetidas o desde IPs anómalas a los tres endpoints con UUIDs de credencial que no correspondan al tráfico normal del tenant.

What systems are affected by CVE-2026-70474?

This vulnerability affects the following AI/ML architecture patterns: agent frameworks, OAuth2-integrated plugin/tool systems, multi-tenant SaaS platforms, credential/secrets management.

What is the CVSS score for CVE-2026-70474?

No CVSS score has been assigned yet.

What is the AI security impact?

Affected AI Architectures

agent frameworksOAuth2-integrated plugin/tool systemsmulti-tenant SaaS platformscredential/secrets management

MITRE ATLAS Techniques

AML.T0049 Exploit Public-Facing Application
AML.T0083 Credentials from AI Agent Configuration
AML.T0086 Exfiltration via AI Agent Tool Invocation
AML.T0091.000 Application Access Token

Compliance Controls Affected

EU AI Act: Article 15
ISO 42001: A.6.2.2
NIST AI RMF: MANAGE-4.1
OWASP LLM Top 10: LLM07

What are the technical details?

Original Advisory

Flowise is a drag-and-drop user interface for building customized large language model (LLM) flows. Prior to 3.1.3, Flowise has three OAuth2 credential endpoints that look up credentials by id alone with no workspaceId filter. The authorize, callback, and refresh handlers query the Credential table by id only; callback and refresh are whitelisted from authentication. This allows any authenticated user to initiate OAuth2 flows against credentials belonging to other workspaces, allows an unauthenticated attacker to forge OAuth2 callbacks to overwrite tokens in any credential, and allows an unauthenticated attacker to refresh tokens for any credential. The affected routes include /api/v1/oauth2-credential/authorize/<VICTIM_CREDENTIAL_UUID>, /api/v1/oauth2-credential/callback?code=ATTACKER_AUTH_CODE&state=<VICTIM_CREDENTIAL_UUID>, and /api/v1/oauth2-credential/refresh/<VICTIM_CREDENTIAL_UUID>. This issue is fixed in version 3.1.3.

Exploitation Scenario

Un atacante identifica una instancia Flowise multi-tenant expuesta a internet y, mediante enumeración o filtración previa (p. ej. un export de workflow compartido que revela el UUID de una credencial), obtiene el identificador de una credencial OAuth2 de la víctima — por ejemplo, la que conecta el agente de la víctima con su cuenta de Gmail corporativa. El atacante llama sin autenticarse a /api/v1/oauth2-credential/callback?code=<código_propio>&state=<UUID_víctima>, forzando a Flowise a asociar el token OAuth2 del propio atacante con la credencial de la víctima. A partir de ahí, cualquier flujo de agente que use esa credencial opera con la cuenta del atacante en lugar de la legítima, permitiéndole interceptar o redirigir las acciones del agente (envíos de correo, lecturas de documentos). Adicionalmente, el atacante puede llamar a /refresh/<UUID_víctima> de forma repetida para mantener vivo su acceso incluso si la víctima intenta revocar el token original desde el proveedor OAuth2.

Weaknesses (CWE)

CWE-863 — Incorrect Authorization: The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.

  • [Architecture and Design] Divide the product into anonymous, normal, privileged, and administrative areas. Reduce the attack surface by carefully mapping roles with data and functionality. Use role-based access control (RBAC) [REF-229] to enforce the roles at the appropriate boundaries. Note that this approach may not protect against horizontal authorization, i.e., it will not protect a user from attacking others with the same role.
  • [Architecture and Design] Ensure that access control checks are performed related to the business logic. These checks may be different than the access control checks that are applied to more generic resources such as files, connections, processes, memory, and database records. For example, a database may restrict access for medical records to a specific database user, but each record might only be intended to be accessible to the patient and the patient's doctor [REF-7].

Source: MITRE CWE corpus.

Timeline

Published
August 4, 2026
Last Modified
August 5, 2026
First Seen
August 4, 2026

Related Vulnerabilities