### 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...
Full CISO analysis pending enrichment.
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Flowise | npm | <= 3.1.2 | 3.1.3 |
Do you use Flowise? You're affected.
How severe is it?
What should I do?
Patch available
Update Flowise to version 3.1.3
Which compliance frameworks are affected?
Compliance analysis pending. Sign in for full compliance mapping when available.
Frequently Asked Questions
What is GHSA-2364-jh4q-m9vm?
### 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: 2. Log in to your account at cloud.flowiseai.com. 3. Capture a request to the payment source endpoint using a proxy tool (e.g., Burp Suite). 4. 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": "truongnguyen210044@gmail.com", "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.
Is GHSA-2364-jh4q-m9vm actively exploited?
No confirmed active exploitation of GHSA-2364-jh4q-m9vm has been reported, but organizations should still patch proactively.
How to fix GHSA-2364-jh4q-m9vm?
Update to patched version: Flowise 3.1.3.
What is the CVSS score for GHSA-2364-jh4q-m9vm?
No CVSS score has been assigned yet.
What are the technical details?
Original Advisory
### 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: 2. Log in to your account at cloud.flowiseai.com. 3. Capture a request to the payment source endpoint using a proxy tool (e.g., Burp Suite). 4. 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": "truongnguyen210044@gmail.com", "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.
Weaknesses (CWE)
CWE-639 — Authorization Bypass Through User-Controlled Key: The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.
- [Architecture and Design] For each and every data access, ensure that the user has sufficient privilege to access the record that is being requested.
- [Architecture and Design, Implementation] Make sure that the key that is used in the lookup of a specific user's record is not controllable externally by the user or that any tampering can be detected.
Source: MITRE CWE corpus.
References
Timeline
Related Vulnerabilities
CVE-2025-71338 10.0 Flowise: unauthenticated file write enables RCE
Same package: flowise CVE-2025-59528 10.0 Flowise: Unauthenticated RCE via MCP config injection
Same package: flowise CVE-2025-61913 9.9 Flowise: path traversal in file tools leads to RCE
Same package: flowise CVE-2026-40933 9.9 Flowise: RCE via MCP stdio command injection
Same package: flowise CVE-2026-46442 9.9 Flowise: sandbox escape enables authenticated RCE
Same package: flowise