Skip to main content

Flowise CVE-2025-50538

MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2025-10-06 cve@mitre.org
6.1
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Access public Flowise chat agent
  2. Delivery
    Submit message with iframe srcdoc payload
  3. Exploit
    Payload stored in chat log
  4. Install
    Admin opens 'View Messages'
  5. C2
    Script executes in admin browser
  6. Execute
    Exfiltrate localStorage to attacker webhook
  7. Impact
    Admin session takeover

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

Exploitation requires (1) a Flowise instance whose chat/agent interface is reachable by the attacker (e.g. embedded on a website or otherwise publicly accessible) so an unauthenticated user can submit chat messages, and (2) an administrator subsequently opening the stored conversation via the 'View Messages' button in the workflow UI, which renders unsanitized message data through dangerouslySetInnerHTML. The specific trigger is an HTML payload such as <iframe srcdoc="<script>...</script>"> stored as a chat message. Limiting factors: the attack is not self-executing - it depends on admin user interaction (UI:R) to fire, and impact centers on theft of whatever is in the admin's browser localStorage (session tokens/credentials). No attacker authentication is required (PR:N). Affected versions are Flowise prior to the patched release (cited as 3.0.5 by the release reference; GHSA also cites 3.0.8 - confirm before remediation).

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N = 6.1) describes a classic stored XSS: network-reachable, low complexity, no privileges for the attacker (an anonymous end user of the chatbot injects the payload), but requiring user interaction (an admin must open 'View Messages'). The GHSA advisory confirms this is STORED XSS with a concrete credential-theft impact (localStorage exfiltration → potential admin account takeover), which arguably justifies confidentiality/integrity higher than the C:L/I:L used by the CVSS provider. The most notable signal is the EPSS score of 14.04% at the 96th percentile - very high for a medium-severity XSS - combined with publicly available exploit code (the GHSA advisory includes a working iframe srcdoc PoC) and an available vendor patch. This is NOT a high-CVSS-but-low-real-risk case; the reverse applies - a moderate 6.1 base score understates operational risk because the exploit is public, trivially weaponizable, and the payoff (admin panel/session compromise) is high. It is NOT on CISA KEV, so there is no confirmed active exploitation; the elevated EPSS plus public PoC indicate opportunistic exploitation is plausible rather than proven. Note a data conflict to verify: the description and release reference cite 'before 3.0.5', while the GHSA text lists 'affected < 2.2.7' and separately 'vulnerable < 3.0.8 / fixed in 3.0.8' - confirm the actual patched release (PR #4905 landed the DOMPurify/SafeHTML fix).

Exploit ScenarioDerived

An attacker interacts with a publicly exposed Flowise chatbot/agent and sends a chat message containing an <iframe srcdoc="..."> payload with embedded JavaScript (no authentication needed to chat). The message is stored; when an administrator later opens the conversation via the 'View Messages' button in the workflow UI, the script executes in the admin's browser context, exfiltrating localStorage (session tokens/credentials) to an attacker-controlled webhook. A working PoC is published in the GHSA advisory, and CVSS UI:R confirms the attack hinges on the admin viewing the log.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 14.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 30, 2026

Stored cross-site scripting in FlowiseAI Flowise lets an unauthenticated user of a publicly reachable chatbot/agent interface inject a malicious HTML payload - for example an <iframe srcdoc> containing JavaScript - that is persisted as a chat message and later executed in an administrator's browser when the admin opens the conversation via the 'View Messages' button. Successful exploitation exposes the admin's localStorage (session tokens and credentials), enabling account takeover and full compromise of the Flowise admin panel; the attack is not self-executing and depends on admin user interaction to fire. Publicly available exploit code exists, and the EPSS score of 14.04% (96th percentile) reflects elevated real-world interest, although there is no CISA KEV confirmation of active exploitation.

RemediationAI

Upgrade Flowise to a patched release - ideally 3.0.8, the version cited by the GHSA and package data, since the description's 3.0.5 reference may not fully cover the fix boundary - and verify the deployed bundle includes the SafeHTML/DOMPurify sanitization from PR 4905 (https://github.com/FlowiseAI/Flowise/pull/4905, commit 9a06a85a8ddcbaeca1342827a5fea9087a587d97) and the 3.0.5 release (https://github.com/FlowiseAI/Flowise/releases/tag/flowise%403.0.5); see the advisory at https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-964p-j4gg-mhwc. If immediate upgrade is not possible, reduce exposure by restricting who can reach the agent/chat interface so anonymous users cannot submit stored messages (this breaks public chatbot embedding, the primary use case), by placing the admin UI behind authentication and network restrictions such as IP allow-listing or a VPN so that only trusted administrators can open 'View Messages' (this limits but does not eliminate risk if a lower-privileged admin account is phished), and by clearing or reviewing stored conversation history before patching so pre-existing malicious payloads are not preserved and re-triggered. Also consider shortening admin session lifetimes and reviewing localStorage-stored tokens, since the demonstrated payload targets localStorage contents for exfiltration. Vendor-released patch: versions up to 3.0.5/3.0.8 per the referenced release and GHSA data.

Affected Packages

npm flowise fix: 3.0.8

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 root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation / Cross-Site Scripting). Flowise's admin UI rendered stored chat message data directly into the DOM through React's dangerouslySetInnerHTML inside the ViewMessagesDialog component (packages/ui/src/ui-component/dialog/ViewMessagesDialog.jsx), so any HTML - including scripting vectors such as <iframe srcdoc="<script>...</script>"> - was interpreted rather than displayed as text. Because the payload is submitted through the agent/chat input and persisted server-side, it becomes a stored (persistent) XSS that executes in the privileged context of whichever administrator subsequently views the message log, in line with the assessed vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N. The fix (PR 4905) introduces a DOMPurify dependency (^3.2.6) and a new SafeHTML component that sanitizes message content before rendering, and also reworks the JSON viewer to build escaped React elements instead of injecting raw HTML, eliminating the unsafe injection sink. Affected code is the npm package 'flowise' (CPE cpe:2.3:a:flowiseai:flowise), i.e. the Flowise server/UI bundle exposed to end users via the chatbot interface.

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

NVD PRIMARY 6.1 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
vuln.today AI 6.1 MEDIUM

Anonymous attacker injects via chat (PR:N) but an admin must view the log (UI:R); script runs in the admin's browser across a trust boundary (S:C); standard stored-XSS C:L/I:L, though localStorage credential theft could push confidentiality higher.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionNVD

Flowise before 3.0.5 allows XSS via an IFRAME element when an admin views the chat log.

Threat Intelligence Overview

EPSS Score
14.0%
Top 4% exploitable
Prevalence
Medium
popular open-source low-code LLM/agent builder, widely used in AI dev community
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 14.0%
Patch available Yes
Active threat Yes
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

64
Low Medium High Critical
KEV: 0
EPSS: +14
CVSS: +30
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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

cpe:2.3:a:flowiseai:flowise:*:*:*:*:*:*:*:*
CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2025-8943 CRITICAL POC
9.8 Aug 14

Flowise versions before 3.0.1 allow unauthenticated access to the Custom MCPs feature, which is designed to execute OS c

CVE-2025-26319 CRITICAL POC
9.8 Mar 04

FlowiseAI Flowise version 2.2.6 contains an arbitrary file upload vulnerability in the /api/v1/attachments endpoint. Una

CVE-2025-61913 CRITICAL POC
9.9 Oct 08

Arbitrary file read and write in Flowise versions prior to 3.0.8 allows an authenticated attacker with access to the flo

CVE-2026-56274 HIGH POC
8.7 Jun 23

Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per

CVE-2025-58434 CRITICAL POC
9.8 Sep 12

Flowise is a drag & drop user interface to build a customized large language model flow. Rated critical severity (CVSS 9

CVE-2025-61687 HIGH POC
8.8 Oct 06

Authenticated users can upload arbitrary files to Flowise 3.0.7 due to missing validation, enabling persistent storage o

CVE-2026-30821 CRITICAL POC
9.8 Mar 07

Unrestricted file upload in Flowise LLM workflow builder before 3.0.13 via /api/v1/attachments endpoint allows unauthent

CVE-2026-30824 CRITICAL POC
9.8 Mar 07

Missing authentication on NVD data endpoint in Flowise before 3.0.13 allows unauthenticated access to internal vulnerabi

CVE-2025-34267 HIGH POC
8.4 Oct 14

Authenticated remote code execution in FlowiseAI Flowise (v3.0.1 up to but not including 3.0.8, and later versions when

CVE-2026-70470 CRITICAL POC
9.5 Aug 04

Remote code execution in Flowise before 3.1.3 arises because its Pyodide Python-code validator (validatePythonCodeForDat

CVE-2026-69264 CRITICAL POC
9.4 Aug 04

Remote code execution in FlowiseAI Flowise before 3.1.3 lets an attacker execute arbitrary OS commands as the Flowise pr

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy