Flowise Exposes Credentials via Unauthenticated API Endpoint
Overview
Flowise versions prior to 3.1.0 suffer from a critical vulnerability in the `/api/v1/public-chatbotConfig/:id` endpoint. This endpoint, intended for retrieving chatbot configurations, is accessible without any authentication. Consequently, an attacker who knows the unique identifier (UUID) of a chatflow can exploit this to retrieve sensitive information. This includes API keys, HTTP authorization headers, and internal configuration details that are stored in password-type fields or other sensitive parameters. The exposure of these credentials can lead to significant security breaches, including unauthorized access to other systems, data exfiltration, and further compromise of the Flowise instance and connected services. The lack of authentication on this endpoint makes it a prime target for attackers seeking to steal sensitive credentials stored within the Flowise environment.
Affected Systems
Testing Guide
* Identify a known chatflow UUID within a vulnerable Flowise instance. * Attempt to access the `/api/v1/public-chatbotConfig/<chatflow_uuid>` endpoint using tools like `curl` or a web browser without providing any authentication credentials. * Verify if sensitive data such as API keys or authorization headers are returned in the response. A successful retrieval confirms the vulnerability.
Mitigation Steps
1. **Upgrade Flowise:** Immediately update Flowise to version 3.1.0 or later. 2. **Review API Access:** If upgrading is not immediately feasible, restrict network access to the Flowise API endpoints to trusted IP addresses. 3. **Audit Configurations:** Regularly audit all stored API keys and credentials within Flowise. 4. **Implement Access Control:** Consider implementing an external authentication and authorization layer in front of the Flowise instance.
Patch Details
Flowise 3.1.0