GHSA-2364-jh4q-m9vm: Flowise: IDOR vulnerability exists at the GET /api/v1/organization/customer-default-source endpoint
Flowise 3.1.2 and earlier has an IDOR at GET /api/v1/organization/customer-default-source: any logged-in user can pass another customer's Stripe `customerId` and get back that customer's email, balance, currency and invoice settings. The advisory's proof was run on Flowise Cloud. The patched version is 3.1.3.
Published Aug 4, 2026 · Analysis Oct 25, 2026
What an attacker can do
The endpoint requires a valid session but never checks that the customerId in the query string belongs to the caller. It returns the Stripe customer object for whatever ID it receives, so the control missing is object-level authorization (CWE-639). Stripe customer IDs have the form cus_..., and the advisory notes an attacker could try to enumerate them.
In the proof of concept, a logged-in user on cloud.flowiseai.com captured the request in a proxy, replaced customerId with another customer's ID, and received a 200 with that customer's email, balance, currency and invoice_settings. The response also showed livemode: true.
The attacker needs only a valid account. What they get is personal data (email addresses) and billing metadata of other customers, which creates privacy and compliance exposure. The advisory shows no payment card numbers and no write access. It describes the impacted parties as all users and organizations on the Flowise Cloud platform. It does not say whether a self-hosted install, which usually has no Stripe billing configured, can be reached the same way.
Who is affected
The npm package flowise at version 3.1.2 and earlier. The proof of concept targeted Flowise Cloud, which the vendor operates. The advisory does not say whether self-hosted instances are exposed. Check a self-hosted install:
npm ls flowiseFor Docker, check the image tag or run the command inside the container.
flowise
- Ecosystem
- npm
- Affected
- <= 3.1.2
- Fixed in
- 3.1.3
- Check
npm ls flowise
How to fix it
Upgrade to flowise 3.1.3:
npm install -g [email protected]The advisory links pull request 6321 and gives no workaround and no description of the fix beyond the root cause. The release notes for 3.1.3 list only PR titles. Flowise Cloud customers do not run the package themselves and depend on the vendor's deployment of the fix.
How to tell if you were hit
On a self-hosted instance, search access logs for requests to /api/v1/organization/customer-default-source and compare the customerId value with the caller's own organization. Many requests with different cus_ values from one session point to enumeration. The advisory gives no other indicators. Cloud customers cannot inspect these logs.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
Summary
An Insecure Direct Object Reference (IDOR) vulnerability exists at the GET /api/v1/organization/customer-default-source endpoint. This flaw allows an authenticated attacker to bypass authorization checks and retrieve sensitive payment and profile information of other customers by manipulating the customerId parameter. The exposed data includes email addresses, account balances, currency types, and internal billing configurations.
Details
The application fails to implement proper object-level access control. While the endpoint requires a valid session/token, it does not verify if the requesting user has the authority to access the specific customerId provided in the query string.
When a request is made to: GET /api/v1/organization/customer-default-source?customerId=cus_XXXX
The server processes the request based solely on the existence of a valid session, returning the data associated with the ID regardless of the data owner's identity. Since customer IDs follow a predictable pattern (Stripe-formatted cus_...), an attacker could potentially enumerate these IDs to scrape customer data.
PoC
- To reproduce the vulnerability, follow these steps:
- Log in to your account at cloud.flowiseai.com.
- Capture a request to the payment source endpoint using a proxy tool (e.g., Burp Suite).
- Change the customerId parameter in the URL to a target user's ID (e.g., cus_U9ajkQvu0e67uH).
Execute the request:
GET /api/v1/organization/customer-default-source?customerId=cus_U9ajkQvu0e67uH HTTP/2
Host: cloud.flowiseai.com
Cookie: [YOUR_AUTHENTICATED_COOKIES]
...Response:
{
"id": "cus_U9ajkQvu0e67uH",
"object": "customer",
"email": "[email protected]",
"balance": 0,
"currency": "usd",
"invoice_settings": {
"custom_fields": null,
"default_payment_method": null
},
"livemode": true
...
}The server returns a 200 OK status with the private data of the target customer.
Impact
- Vulnerability Type: Broken Access Control (IDOR).
- Impacted Parties: All registered users and organizations on the FlowiseAI Cloud platform.
- Consequences: * Data Privacy Breach: Exposure of Personally Identifiable Information (PII) such as email addresses.
- Financial Information Leakage: Disclosure of account balances, currency settings, and invoice metadata.
- Compliance Risk: Potential violation of data protection regulations (e.g., GDPR) due to unauthorized access to user billing profiles.
Credited to truongvip1.
Questions
- What data does the Flowise customer-default-source IDOR expose?
The Stripe customer object: email address, balance, currency, invoice settings and the live-mode flag. The advisory shows no card numbers.
- Do I need to be an admin to exploit it?
No. Any authenticated session works. The server does not check that the requested
customerIdbelongs to the caller.- Is self-hosted Flowise affected?
The advisory lists the npm package
flowiseup to 3.1.2 as vulnerable but demonstrates the issue on Flowise Cloud and does not say whether self-hosted instances are reachable. Upgrade to 3.1.3 anyway.
References
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
More Flowise vulnerabilities
All Flowise entriesCVE-2026-73483
Flowise NodeVM sandbox escape via puppeteer allowlist - authenticated RCE and arbitrary file read via Chromium
critical9.4Oct 7, 2026CVE-2026-73487
Flowise Prompt Injection to RCE and SSRF via CSV/Airtable Agent Python Validator Bypass
critical9.0Oct 7, 2026CVE-2026-69250
Flowise: Unauthenticated OAuth2 Refresh Enables Non-Blind SSRF and Secret Exfiltration
high8.5Aug 4, 2026CVE-2026-69251
Flowise RCE via TypeORM DataSource
critical9.0Aug 4, 2026CVE-2026-69252
Flowise: Missing authorization on `/api/v1/files` allows low-privileged API keys to list and delete files across workspaces within the same organization
high7.2Aug 4, 2026CVE-2026-69253
Flowise Sandbox Escape to RCE
critical9.0Aug 4, 2026
