Flowise
CVE-2025-29192
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit crafted prompt to public chatbot
-
DeliveryMalicious form/input HTML stored in chat log
-
ExploitAdmin opens ViewMessagesDialog log viewer
-
ExecutionAdmin clicks injected oversized image
-
Persistjavascript: formaction runs in admin session
-
ImpactExfiltrate admin token/API keys to attacker
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a Flowise instance running a published/reachable chatbot where an unauthenticated user can submit prompts that are stored in the chat log. The specific trigger is that the log renderer allowed <form> and <input> elements and inserted message data via dangerouslySetInnerHTML without sanitization, so a payload using <input type="image"> with a javascript: formaction is persisted. Exploitation is LIMITED by required privileged-victim interaction: an administrator must open the chat-log viewer (ViewMessagesDialog) AND, per the PoC, click the injected oversized image to fire the formaction - it is not fully automatic on view. The high-value outcome (admin credential/token theft from localStorage → account takeover) depends on the admin having those secrets in browser storage. Fixed in 3.0.5, which sanitizes log HTML with DOMPurify. |
| Impact | This is a stored (persistent) cross-site scripting flaw (CWE-79) rated medium at CVSS 6.1 (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N). The signals are internally consistent: network-reachable, low complexity, no attacker privileges (PR:N - an unauthenticated user can submit chatbot prompts), but it DOES require victim interaction (UI:R - an admin must open and, per the PoC, click the injected element), and the scope change (S:C) reflects that the payload executes in the admin's browser context rather than the injection point. The limited C:L/I:L / A:N impacts match a classic XSS, though the practical consequence the vendor describes - theft of the admin's stored token/password from localStorage leading to full admin account takeover and access to other users' chat logs and API keys - is materially more serious than the low sub-scores suggest. Exploitation status: publicly available exploit code exists (a working PoC and demo video are published in the GHSA advisory); this is NOT confirmed active exploitation - there is no CISA KEV listing. No EPSS score was provided in the input, so probabilistic exploitation likelihood cannot be quantified here. On balance this is a real, credibly exploitable issue with a public PoC and a clear high-value outcome (admin takeover), tempered by the requirement that a privileged admin view and interact with the malicious log entry - so it is a solid patch-soon priority rather than an emergency. |
| Exploit ScenarioDerived | An attacker interacts with a publicly published Flowise chatbot and submits a prompt containing a crafted HTML <form> wrapping an <input type="image"> whose formaction is a javascript: URI; this is persisted verbatim in the chat log. When an administrator later opens the chat-log viewer (ViewMessagesDialog) and clicks the oversized injected image, the JavaScript runs in the admin's authenticated session and exfiltrates the admin's credentials/token from localStorage to an attacker-controlled server, enabling admin account takeover. A public PoC, payload, and demo video are published in the GHSA-7r4h-vmj9-wg42 advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Stored cross-site scripting in Flowise chatbot deployments before 3.0.5 lets an unauthenticated attacker inject malicious HTML into the chat log via crafted prompts; when an administrator opens the ViewMessagesDialog chat-log viewer and clicks the injected element (per the PoC, an oversized image with a javascript: formaction), the payload executes and can exfiltrate admin credentials or tokens from browser storage, enabling account takeover. Exploitation is limited by required admin interaction with the log viewer and the injected element, consistent with the CVSS 6.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N). Publicly available exploit code exists in the referenced GHSA advisory, and the vendor has released a fix in Flowise 3.0.5.
RemediationAI
Upgrade to Flowise 3.0.5, which is the vendor-released fix version and introduces DOMPurify-based sanitization of chat-log HTML (see the release notes at https://github.com/FlowiseAI/Flowise/releases/tag/flowise%403.0.5 and the patch PR at https://github.com/FlowiseAI/Flowise/pull/4905, with the fix commit 9a06a85a8ddcbaeca1342827a5fea9087a587d97). If immediate upgrade is not possible, compensating controls include restricting chatbot exposure so only trusted users can submit prompts (this reduces but does not eliminate the untrusted-input path, since any user who can reach a published chatbot can plant the payload), blocking or stripping <form>, <input>, and other active markup from chat messages at a reverse proxy or WAF (a partial mitigation that can be bypassed with alternate encodings), and instructing administrators to avoid opening the chat-log viewer until patched (operationally disruptive and not a reliable control since the exploit only requires one click). Because the payload can steal credentials/tokens from browser storage, rotate any admin credentials or API keys that may have been exposed and invalidate active sessions after upgrading. Review chat logs for suspicious HTML such as <input type="image"> with javascript: URLs to detect prior exploitation attempts.
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
The flaw is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically a stored/persistent XSS in Flowise, a low-code LLM orchestration and chatbot platform. Chat messages submitted through a published chatbot are persisted server-side and rendered in the admin-facing chat-log viewer (packages/ui/src/ui-component/dialog/ViewMessagesDialog.jsx), which previously injected message content with React's dangerouslySetInnerHTML without sanitization. Because the renderer allowed <form> and <input> elements, an attacker could submit a payload such as an <input type="image"> with a javascript: formaction attribute; the browser then honored the injected markup and executed script when the admin interacted with the rendered element, allowing theft of localStorage values such as an admin password/token. The upstream fix in PR 4905 adds the dompurify dependency (^3.2.6), replaces the raw dangerouslySetInnerHTML call with a SafeHTML wrapper component that sanitizes HTML, and refactors the JSON viewer to build escaped React elements instead of raw HTML strings, eliminating the injection sink. Affected CPE is cpe:2.3:a:flowiseai:flowise:*:*:*:*:*:*:*:*, i.e., all Flowise releases prior to 3.0.5.
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
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Unauthenticated attacker injects via public chatbot prompts (PR:N), but a privileged admin must view/click the log (UI:R); payload executes cross-context in the admin browser (S:C) with typical XSS C:L/I:L.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
Flowise before 3.0.5 allows XSS via a FORM element and an INPUT element when an admin views the chat log.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Affected Products (CPE)NVD
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
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB