NewApp Monitoring is liveSign up free
AgentbeamBeta
AI agent vulnerability · Flowise

GHSA-2364-jh4q-m9vm: Flowise: IDOR vulnerability exists at the GET /api/v1/organization/customer-default-source endpoint

mediumCVSS 4.0 6.0

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 flowise

For 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

  1. To reproduce the vulnerability, follow these steps:
  1. Log in to your account at cloud.flowiseai.com.
  1. Capture a request to the payment source endpoint using a proxy tool (e.g., Burp Suite).
  1. 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 customerId belongs to the caller.

Is self-hosted Flowise affected?

The advisory lists the npm package flowise up 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 entries