Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessEnumerate or obtain victim workspace credential UUID
-
DeliverySend unauthenticated POST to /callback with attacker OAuth2 code and victim UUID as state
-
ExploitServer bypasses auth via whitelist and exchanges attacker code
-
ExecutionVictim credential tokens overwritten with attacker-controlled tokens
-
ImpactAttacker controls third-party OAuth2 integration
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The callback and refresh endpoints (/api/v1/oauth2-credential/callback and /api/v1/oauth2-credential/refresh) require no authentication whatsoever - they are explicitly whitelisted from JWT and API-key verification in constants.ts. The sole prerequisite for the unauthenticated token injection and refresh attacks is knowledge of a valid credential UUID from any workspace in the Flowise instance; UUIDs are not secret by design and may be exposed through other API responses, logs, or browser network traffic. The authorize endpoint (/api/v1/oauth2-credential/authorize/:id) requires a valid authenticated session (PR:L), but the credential lookup still performs no workspace scoping, so any authenticated user in any workspace can initiate flows against credentials belonging to other workspaces. Exploitation is limited to Flowise deployments that have OAuth2 credentials configured; deployments with no OAuth2 integrations have no exploitable credential objects. |
| Impact | The CVSS 4.0 score of 7.6 with vector AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N reflects the mixed nature of the attack surface: the AT:P (attack requirements present) captures the dependency on knowing a victim credential UUID, while PR:L acknowledges the authorize endpoint's authentication requirement. However, the CVSS vector does not fully represent the unauthenticated paths (callback and refresh), which are more dangerous and effectively PR:N since authentication is bypassed by whitelist. The practical risk is highest in multi-tenant or shared Flowise deployments where multiple workspaces coexist; single-tenant self-hosted instances have reduced exposure because a credential UUID belonging to the same deployment would not cross meaningful trust boundaries. No EPSS data was provided and no CISA KEV listing is present, meaning active exploitation is unconfirmed. The availability of detailed GHSA source-code evidence - including exact file paths and the correct vs. incorrect patterns - significantly lowers the bar for constructing a working exploit, elevating practical risk above what the score alone suggests for multi-tenant deployments. |
| Exploit ScenarioDerived | An unauthenticated attacker who learns or enumerates a victim workspace's credential UUID - for example, through a prior information disclosure, insider access, or UUID prediction - sends a crafted HTTP request to /api/v1/oauth2-credential/callback?code=ATTACKER_AUTH_CODE&state=VICTIM_CREDENTIAL_UUID with an attacker-controlled OAuth2 authorization code; the server, bypassing all authentication checks via the whitelist, exchanges the attacker's code for tokens and overwrites the victim credential's stored access and refresh tokens, effectively hijacking the OAuth2-backed integration. The GHSA advisory provides exact endpoint patterns and the specific whitelist code responsible, substantially lowering the complexity for a motivated attacker. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 04, 2026
Cross-workspace OAuth2 credential isolation failure in Flowise prior to version 3.1.3 enables two distinct attack classes: authenticated users can initiate OAuth2 flows against credentials owned by other workspaces, and - more critically - unauthenticated attackers can forge OAuth2 callbacks to overwrite tokens or trigger token refreshes for any credential system-wide by exploiting a whitelist that bypasses all authentication on the /callback and /refresh endpoints. The root cause is that all three OAuth2 handlers query the Credential table by credential ID alone, omitting the workspaceId isolation enforced elsewhere in the codebase. No public exploit has been identified at time of analysis, and the issue is fixed in Flowise 3.1.3.
RemediationAI
Upgrade Flowise to version 3.1.3, the confirmed vendor-released patch per the GitHub release at https://github.com/FlowiseAI/Flowise/releases/tag/flowise@3.1.3. The fix adds workspaceId scoping to all three OAuth2 credential handlers, consistent with the isolation pattern already used in the credentials service. For deployments that cannot immediately upgrade, a compensating control is to block external access to /api/v1/oauth2-credential/callback and /api/v1/oauth2-credential/refresh at the reverse proxy or WAF layer, which eliminates the unauthenticated token injection and refresh vectors; trade-off is that legitimate OAuth2 flows will break for all users until the patch is applied. Single-tenant self-hosted deployments with a single workspace have substantially lower practical risk, but the patch should still be applied since the authorize endpoint can leak credential metadata to any authenticated user. Refer to the security advisory at https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-wch5-xp77-fxg4 for additional remediation guidance.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Flowise (cpe:2.3:a:flowiseai:flowise:*:*:*:*:*:*:*:*) is an open-source Node.js/TypeScript LLM workflow builder distributed via npm. The vulnerability lives in packages/server/src/routes/oauth2/index.ts, where three handlers - authorize (line 80), callback (line 183), and refresh (line 314) - each call credentialRepository.findOneBy({ id: credentialId }) without a workspaceId predicate. The correct isolation pattern is demonstrated in the same codebase at packages/server/src/services/credentials/index.ts:130-132, which includes workspaceId in the query. Compounding the authorization flaw, the whitelist in packages/server/src/utils/constants.ts exports /api/v1/oauth2-credential/callback and /api/v1/oauth2-credential/refresh, and packages/server/src/index.ts:223-225 uses a prefix-match to bypass all JWT and API-key verification for these paths. CWE-863 (Incorrect Authorization) precisely describes the root cause: the system performs credential lookups without verifying that the requesting principal owns or is scoped to the target credential.
Know when Flowise gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
AC:H reflects the prerequisite of knowing a victim credential UUID; PR:N applies to the more severe unauthenticated callback/refresh paths; no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Latest POC
1 public PoC link from github
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
Flowise prior to version 3.1.3 contains an OAuth2 credential isolation flaw enabling unauthenticated attackers to forge authentication callbacks and overwrite tokens system-wide, plus allowing authenticated users cross-workspace credential access. No public exploit has been identified; however, this represents direct risk to any organization operating Flowise for multi-tenant credential management.
Apply vendor patch (Flowise 3.1.3).
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Flowise versions before 3.0.1 allow unauthenticated access to the Custom MCPs feature, which is designed to execute OS c
FlowiseAI Flowise version 2.2.6 contains an arbitrary file upload vulnerability in the /api/v1/attachments endpoint. Una
Arbitrary file read and write in Flowise versions prior to 3.0.8 allows an authenticated attacker with access to the flo
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Flowise is a drag & drop user interface to build a customized large language model flow. Rated critical severity (CVSS 9
Authenticated users can upload arbitrary files to Flowise 3.0.7 due to missing validation, enabling persistent storage o
Unrestricted file upload in Flowise LLM workflow builder before 3.0.13 via /api/v1/attachments endpoint allows unauthent
Missing authentication on NVD data endpoint in Flowise before 3.0.13 allows unauthenticated access to internal vulnerabi
Authenticated remote code execution in FlowiseAI Flowise (v3.0.1 up to but not including 3.0.8, and later versions when
Remote code execution in Flowise before 3.1.3 arises because its Pyodide Python-code validator (validatePythonCodeForDat
Remote code execution in FlowiseAI Flowise before 3.1.3 lets an attacker execute arbitrary OS commands as the Flowise pr
EUVD-2026-52855
GHSA-wch5-xp77-fxg4
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB