CVE-2026-70474: Flowise: missing workspace auth in OAuth2 credential routes

GHSA-wch5-xp77-fxg4HIGHPoC AVAILABLECISA: ATTEND
Published August 4, 2026
CISO Take

Flowise versions up to 3.1.2 expose three OAuth2 credential endpoints (authorize, callback, refresh) that look up credentials by ID alone, with no workspace check, and the callback and refresh routes require no authentication at all. An unauthenticated attacker who knows or obtains a credential UUID can overwrite the stored OAuth2 tokens with their own or force token refreshes, and any logged-in user can start OAuth2 flows against other tenants' credentials. This matters because Flowise credentials typically unlock downstream SaaS, data, and LLM provider accounts, so token hijacking can pivot into connected business systems. Exploitation likelihood is moderate (EPSS 0.48%, top 61%), but a public PoC exists, CISA SSVC rates it ATTEND, and it is not in KEV; the main barrier is learning a victim credential UUID. Upgrade to Flowise 3.1.3 or later, and until then block /api/v1/oauth2-credential/* at the reverse proxy and rotate any OAuth2 tokens held by multi-tenant instances.

Sources:NVDGitHub AdvisoryEPSSATLASflowiseai.com

What is the risk?

High. The flaw is an incorrect authorization issue (CWE-863) reachable over the network, with unauthenticated access to the callback and refresh routes. A public PoC exists and CISA SSVC says ATTEND, but EPSS is low (0.48%, top 61%) and there is no KEV listing or Nuclei template. Exploitation requires the target credential's UUID, which is a random identifier and so reduces opportunistic mass exploitation. Risk is highest for multi-workspace or internet-exposed Flowise deployments, where credentials guard sensitive third-party integrations. Impact is mainly confidentiality and integrity of stored OAuth2 credentials; the CVSS score was not provided, so severity is taken from the vendor's high rating.

How does the attack unfold?

Reconnaissance
Attacker locates an exposed Flowise instance and obtains a victim credential UUID.
AML.T0006
Exploitation
Attacker sends an unauthenticated forged request to the callback or refresh endpoint using the victim UUID.
AML.T0049
Credential Takeover
Stored OAuth2 tokens are overwritten with attacker-controlled tokens or forcibly refreshed.
AML.T0091.000
Impact
Agent flows send data to the attacker's account or lose access to the connected service.
AML.T0086

What systems are affected?

PackageEcosystemVulnerable RangePatched
Flowisenpm<= 3.1.23.1.3

Do you use Flowise? You're affected.

How severe is it?

CVSS 3.1
N/A
EPSS
0.5%
chance of exploitation in 30 days
Higher than 41% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Trivial
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) Upgrade Flowise (npm package flowise) to 3.1.3 or later. 2) Until patched, block or restrict /api/v1/oauth2-credential/authorize, /callback, and /refresh at the reverse proxy or WAF, or restrict Flowise to trusted networks and VPN. 3) Rotate and re-authorize OAuth2 credentials in multi-tenant instances, and revoke tokens at the identity providers if tampering is suspected. 4) Review access logs for unauthenticated requests to the callback and refresh routes, especially with unfamiliar code values or state parameters containing credential UUIDs. 5) Check OAuth provider audit logs for unexpected token grants or new authorized sessions tied to Flowise client IDs. 6) Apply least privilege to scopes granted to Flowise integrations.

What does CISA's SSVC say?

DecisionAttend
Exploitationpoc
AutomatableNo
Technical Impacttotal

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
Art. 15-Accuracy, robustness and cybersecurity
ISO 42001
A.6.2.6-AI system operation and monitoring
NIST AI RMF
MANAGE 2.3-Responses to previously unknown risks
OWASP LLM Top 10
LLM06-Excessive Agency

Frequently Asked Questions

What is CVE-2026-70474?

Flowise versions up to 3.1.2 expose three OAuth2 credential endpoints (authorize, callback, refresh) that look up credentials by ID alone, with no workspace check, and the callback and refresh routes require no authentication at all. An unauthenticated attacker who knows or obtains a credential UUID can overwrite the stored OAuth2 tokens with their own or force token refreshes, and any logged-in user can start OAuth2 flows against other tenants' credentials. This matters because Flowise credentials typically unlock downstream SaaS, data, and LLM provider accounts, so token hijacking can pivot into connected business systems. Exploitation likelihood is moderate (EPSS 0.48%, top 61%), but a public PoC exists, CISA SSVC rates it ATTEND, and it is not in KEV; the main barrier is learning a victim credential UUID. Upgrade to Flowise 3.1.3 or later, and until then block /api/v1/oauth2-credential/* at the reverse proxy and rotate any OAuth2 tokens held by multi-tenant instances.

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) Upgrade Flowise (npm package flowise) to 3.1.3 or later. 2) Until patched, block or restrict /api/v1/oauth2-credential/authorize, /callback, and /refresh at the reverse proxy or WAF, or restrict Flowise to trusted networks and VPN. 3) Rotate and re-authorize OAuth2 credentials in multi-tenant instances, and revoke tokens at the identity providers if tampering is suspected. 4) Review access logs for unauthenticated requests to the callback and refresh routes, especially with unfamiliar code values or state parameters containing credential UUIDs. 5) Check OAuth provider audit logs for unexpected token grants or new authorized sessions tied to Flowise client IDs. 6) Apply least privilege to scopes granted to Flowise integrations.

What systems are affected by CVE-2026-70474?

This vulnerability affects the following AI/ML architecture patterns: Agent frameworks, LLM orchestration platforms, Multi-tenant AI workflow builders, Tool-integrated agents using OAuth2 connectors.

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 frameworksLLM orchestration platformsMulti-tenant AI workflow buildersTool-integrated agents using OAuth2 connectors

MITRE ATLAS Techniques

AML.T0049Exploit Public-Facing Application
AML.T0083Credentials from AI Agent Configuration
AML.T0091.000Application Access Token
AML.T0106Exploitation for Credential Access

Compliance Controls Affected

EU AI Act: Art. 15
ISO 42001: A.6.2.6
NIST AI RMF: MANAGE 2.3
OWASP LLM Top 10: LLM06

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

An attacker finds an internet-exposed Flowise instance and obtains a victim credential UUID, for example from a leaked flow export, shared link, or a low-privileged account on the same instance. They send a forged request to /api/v1/oauth2-credential/callback with their own authorization code and the victim UUID as state, which overwrites the stored tokens with tokens tied to the attacker's account. Agent flows that use that credential now read from or write to the attacker's account, which exposes data and lets the attacker influence flow behavior. They can also call the refresh endpoint to manipulate or disrupt token state without authenticating.

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