Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify internet-facing Flowise instance
-
DeliveryHost malicious webpage with cross-origin TTS fetch script
-
ExploitLure authenticated Flowise user to malicious page
-
ExecutionBrowser sends cross-origin request to TTS endpoint
-
PersistHardcoded wildcard CORS header allows attacker to read response
-
ImpactTTS generation triggered under victim session context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
|
| Exploitation Conditions | Three concurrent conditions are required: (1) the victim must have an active authenticated session to a Flowise instance, (2) the victim must visit an attacker-controlled webpage while that session is live, and (3) the Flowise TTS endpoint must be reachable from the victim's browser - either via public internet or a shared network the victim accesses. Because the wildcard header is set unconditionally in the TTS controller regardless of server configuration, no non-default Flowise setting is needed - every Flowise deployment before 3.1.2 with an accessible TTS endpoint is vulnerable. Exploitation is strictly limited to browser-initiated requests: server-to-server and CLI callers are unaffected since CORS is a browser enforcement mechanism only. It should be noted that standard browser behavior prevents cookies from being sent cross-origin to wildcard CORS origins ( |
| Impact | The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, score 6.9) rates this as network-exploitable with no prerequisites, but the UI:N designation is inconsistent with the described attack: drive-by CORS exploitation inherently requires a victim user to visit an attacker-controlled webpage, which maps to UI:P (passive) in CVSS 4.0 and UI:R in CVSS 3.1 - the provided score likely overstates exploitability as a result. The vulnerability is absent from CISA KEV, no EPSS data was provided, and no POC has been publicly identified, placing this firmly in the 'no public exploit identified at time of analysis' tier. Practical risk is most elevated for internet-facing Flowise instances where the TTS endpoint invokes billable third-party TTS APIs, as attackers could drain API quota or credits. The scope-unchanged vector confirms blast radius is limited to the Flowise application itself, not the underlying host. For internal-only deployments protected by network controls, exploitability is substantially reduced. |
| Exploit ScenarioDerived | An attacker registers a public domain and serves a webpage containing JavaScript that issues a |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 30, 2026
Cross-origin request forgery via a hardcoded CORS wildcard in Flowise's text-to-speech endpoint (versions before 3.1.2) allows any malicious webpage to trigger TTS generation using a victim's stored credentials. The controller file packages/server/src/controllers/text-to-speech/index.ts unconditionally sets Access-Control-Allow-Origin: *, directly overriding the server's restrictive getCorsOptions() CORS policy for that route. No public exploit is identified at time of analysis, but the attack requires only basic web scripting skill given the straightforward CORS bypass mechanism.
RemediationAI
Upgrade Flowise to version 3.1.2 or later, which aligns the TTS endpoint's CORS handling with the server-wide getCorsOptions() policy, eliminating the hardcoded wildcard. The vendor advisory is at https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-m837-xvxr-vqwg. If immediate upgrade is not feasible, placing a reverse proxy (e.g., nginx) in front of Flowise that strips or overrides the Access-Control-Allow-Origin header on /api/v1/text-to-speech responses can serve as a temporary compensating control, though this does not fix the root cause and must be validated per deployment. Restricting Flowise to internal or VPN-only network access eliminates the cross-origin threat for deployments that do not require public internet exposure. If TTS functionality is not in use, disabling or blocking the endpoint entirely at the proxy or firewall layer is a clean workaround with no functional trade-off for those deployments.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Flowise is an open-source LLM orchestration and AI workflow builder (CPE: cpe:2.3:a:flowise:flowise:*:*:*:*:*:*:*:*). The root cause maps to CWE-346 (Origin Validation Error): the server establishes a restrictive CORS policy through a central getCorsOptions() function, but the TTS route controller bypasses this by independently injecting Access-Control-Allow-Origin: * as a hardcoded response header. CORS is a browser-enforced security boundary; a wildcard origin value instructs browsers that any origin may issue and read responses from the endpoint. When a malicious page calls fetch() against the Flowise TTS endpoint, the browser's same-origin policy is nullified for that route. The defect is a single-route configuration override that escapes the server-wide middleware chain, rather than a flaw in the CORS library itself.
Know when Flowise gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Drive-by CORS abuse requires victim to visit a malicious page (UI:R); attacker needs no credentials (PR:N); impact is low-severity TTS generation abuse with no availability or scope-change component.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Flowise before 3.1.2 sets Access-Control-Allow-Origin to a hardcoded wildcard (*) on its text-to-speech (TTS) generation endpoint (packages/server/src/controllers/text-to-speech/index.ts), independent of the server's configured CORS policy. This bypasses the server's otherwise restrictive default CORS configuration (getCorsOptions()) and allows any webpage to make cross-origin requests that trigger TTS generation using stored credentials, enabling drive-by cross-origin credential abuse.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Flowise versions before 3.0.1 allow unauthenticated access to the Custom MCPs feature, which is designed to execute OS c
FlowiseAI Flowise version 2.2.6 contains an arbitrary file upload vulnerability in the /api/v1/attachments endpoint. Una
Arbitrary file read and write in Flowise versions prior to 3.0.8 allows an authenticated attacker with access to the flo
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Flowise is a drag & drop user interface to build a customized large language model flow. Rated critical severity (CVSS 9
Authenticated users can upload arbitrary files to Flowise 3.0.7 due to missing validation, enabling persistent storage o
Unrestricted file upload in Flowise LLM workflow builder before 3.0.13 via /api/v1/attachments endpoint allows unauthent
Missing authentication on NVD data endpoint in Flowise before 3.0.13 allows unauthenticated access to internal vulnerabi
Authenticated remote code execution in FlowiseAI Flowise (v3.0.1 up to but not including 3.0.8, and later versions when
Remote code execution in Flowise before 3.1.3 arises because its Pyodide Python-code validator (validatePythonCodeForDat
Remote code execution in FlowiseAI Flowise before 3.1.3 lets an attacker execute arbitrary OS commands as the Flowise pr
EUVD-2026-40432
GHSA-8m62-6r3h-3x25
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB