CVE-2026-90534: Flowise before 3.1.4 Cross-Workspace Credential IDOR via node-load-method
Flowise is a low-code platform for building LLM applications. In versions up to and including 3.1.3, the POST /api/v1/node-load-method/:name endpoint is mounted without any route-level permission check and invokes component loadMethods with an attacker-controlled nodeName, loadMethod, inputs, and credential value. The selected credential is resolved by raw Credential.id via getCredentialData() and decrypted without verifying Credential.workspaceId against the caller's active or shared workspace, unlike other credential read paths which are workspace-scoped. As a result, an authenticated low-privilege user (or workspace API key) in one workspace can supply a credential ID owned by another workspace and cause Flowise to act as a confused deputy, performing third-party provider calls with the victim workspace's credential and returning provider metadata to the attacker. Statically identified affected load methods include Google Drive listFiles, Google Sheets listSpreadsheets, and AWS DynamoDB KV Storage listTables. The raw credential secret itself is not returned to the attacker. This issue is fixed in version 3.1.4.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Flowiseto a version that resolves this vulnerability.Fixed in 3.1.4 - Compensating control
As a compensating control, restrict access to the POST /api/v1/node-load-method/:name endpoint (and any routes that mount component loadMethods) so only trusted users/workspace contexts can invoke it, preventing cross-workspace credential IDs from being supplied by authenticated low-privilege users or workspace API keys.
Event History
Frequently Asked Questions
Which users can exploit this issue?
An authenticated low-privilege user in one workspace, or a workspace API key, can exploit it against credentials belonging to another workspace.
What can an attacker obtain through the vulnerable endpoint?
The attacker can cause third-party provider calls using another workspace's credential and receive provider metadata. The raw credential secret is not returned.
Which provider operations were identified as affected?
Identified affected load methods include Google Drive listFiles, Google Sheets listSpreadsheets, and AWS DynamoDB KV Storage listTables.
What version resolves the issue?
Upgrade Flowise to version 3.1.4, which fixes the cross-workspace credential validation issue.