CVE-2026-41278: Flowise: credential exposure in public chatflow API
HIGH PoC AVAILABLEFlowise's public chatflow endpoints return the full flow configuration — including plaintext API keys, credential IDs, and password fields — to any unauthenticated requester, because the sanitization function intended to strip secrets was confirmed absent from the released v3.0.13 Docker image. Both /api/v1/public-chatflows/:id and /api/v1/public-chatbotConfig are affected, meaning every publicly-shared chatflow in production is leaking credentials right now. With a public PoC already available and EPSS placing this in the top 88th percentile for exploitation likelihood, unskilled attackers will exploit this at scale; 58 prior CVEs in Flowise further signal a pattern of systemic security debt. Upgrade to Flowise 3.1.0 immediately, rotate every API key and password stored in any Flowise flow, and audit GET request logs to those endpoints since the first deployment of any pre-3.1.0 version.
What is the risk?
HIGH. The vulnerability is trivially exploitable: unauthenticated, network-accessible, zero complexity, and a PoC is publicly available. CVSS confidentiality impact is HIGH because the exposed secrets — LLM provider API keys, database passwords, third-party service tokens — can enable lateral movement well beyond the Flowise instance itself. The confirmed absence of the sanitization function in the released Docker image means exposure is not theoretical; it affects every organization running Flowise with publicly-shared chatflows. The 58 historical CVEs in this package indicate chronic security hygiene issues rather than an isolated incident.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Flowise | npm | — | No patch |
Do you use Flowise? You're affected.
How severe is it?
What is the attack surface?
What should I do?
5 steps-
Patch immediately: upgrade to Flowise 3.1.0, which introduces the missing sanitizeFlowDataForPublicEndpoint function.
-
Rotate all credentials: assume every API key and password stored in any public chatflow has been compromised — rotate immediately without waiting for exploitation confirmation.
-
Emergency workaround: if 3.1.0 cannot be deployed immediately, disable public chatflow sharing at the application level or block /api/v1/public-chatflows and /api/v1/public-chatbotConfig at the WAF/reverse proxy layer.
-
Audit access logs: search for GET requests to public-chatflows and public-chatbotConfig endpoints from external IPs since the earliest pre-3.1.0 deployment date.
-
Scope assessment: enumerate all public chatflows via the Flowise admin interface to identify which credentials and integrations were in scope for exposure.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-41278?
Flowise's public chatflow endpoints return the full flow configuration — including plaintext API keys, credential IDs, and password fields — to any unauthenticated requester, because the sanitization function intended to strip secrets was confirmed absent from the released v3.0.13 Docker image. Both /api/v1/public-chatflows/:id and /api/v1/public-chatbotConfig are affected, meaning every publicly-shared chatflow in production is leaking credentials right now. With a public PoC already available and EPSS placing this in the top 88th percentile for exploitation likelihood, unskilled attackers will exploit this at scale; 58 prior CVEs in Flowise further signal a pattern of systemic security debt. Upgrade to Flowise 3.1.0 immediately, rotate every API key and password stored in any Flowise flow, and audit GET request logs to those endpoints since the first deployment of any pre-3.1.0 version.
Is CVE-2026-41278 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-41278, increasing the risk of exploitation.
How to fix CVE-2026-41278?
1. Patch immediately: upgrade to Flowise 3.1.0, which introduces the missing sanitizeFlowDataForPublicEndpoint function. 2. Rotate all credentials: assume every API key and password stored in any public chatflow has been compromised — rotate immediately without waiting for exploitation confirmation. 3. Emergency workaround: if 3.1.0 cannot be deployed immediately, disable public chatflow sharing at the application level or block /api/v1/public-chatflows and /api/v1/public-chatbotConfig at the WAF/reverse proxy layer. 4. Audit access logs: search for GET requests to public-chatflows and public-chatbotConfig endpoints from external IPs since the earliest pre-3.1.0 deployment date. 5. Scope assessment: enumerate all public chatflows via the Flowise admin interface to identify which credentials and integrations were in scope for exposure.
What systems are affected by CVE-2026-41278?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, LLM orchestration platforms, no-code AI builders, customer-facing AI chatbots.
What is the CVSS score for CVE-2026-41278?
CVE-2026-41278 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.42%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0002.002 AI Agent Configuration AML.T0049 Exploit Public-Facing Application AML.T0055 Unsecured Credentials AML.T0083 Credentials from AI Agent Configuration AML.T0084 Discover AI Agent Configuration Compliance Controls Affected
What are the technical details?
Original Advisory
Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.0, the GET /api/v1/public-chatflows/:id endpoint returns the full chatflow object without sanitization for public chatflows. Docker validation revealed this is worse than initially assessed: the sanitizeFlowDataForPublicEndpoint function does NOT exist in the released v3.0.13 Docker image. Both public-chatflows AND public-chatbotConfig return completely raw flowData including credential IDs, plaintext API keys, and password-type fields. This vulnerability is fixed in 3.1.0.
Exploitation Scenario
An attacker identifies a Flowise instance via Shodan, Censys, or by discovering a chatbot widget embed code that references the Flowise host. They enumerate public chatflow IDs either by brute-forcing UUIDs or extracting them from frontend JavaScript. A single unauthenticated GET to /api/v1/public-chatflows/{id} returns the complete flow JSON including a plaintext OpenAI API key, a Pinecone API key, and a PostgreSQL connection string embedded in flow nodes. The attacker immediately begins generating LLM completions with the stolen OpenAI key to exhaust the victim's quota, while using the database credentials to access the connected vector store and extract proprietary document embeddings used to power the chatbot.
Weaknesses (CWE)
CWE-200 — Exposure of Sensitive Information to an Unauthorized Actor: The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
- [Architecture and Design] Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N Timeline
Related Vulnerabilities
CVE-2025-59528 10.0 Flowise: Unauthenticated RCE via MCP config injection
Same package: flowise CVE-2026-46442 9.9 Flowise: sandbox escape enables authenticated RCE
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-56274 9.9 Flowise: RCE via MCP server command validation bypass
Same package: flowise