<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Flowise-Components - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/flowise-components/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 04 Aug 2026 17:24:33 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/flowise-components/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Flowise Unauthenticated RCE via Environment Variable Bypass</title><link>https://feed.craftedsignal.io/briefs/2026-08-flowise-rce/</link><pubDate>Tue, 04 Aug 2026 17:24:33 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-flowise-rce/</guid><description>Flowise v3.1.2 and earlier are vulnerable to unauthenticated remote code execution because the CVE-2025-8943 patch relies on an incomplete environment variable blocklist, allowing attackers to inject configuration variables that force arbitrary package installation.</description><content:encoded><![CDATA[<p>Flowise (v3.1.2 and earlier) contains a critical security flaw involving an incomplete environment variable blocklist, identified as CVE-2026-69263. This vulnerability allows an attacker to bypass the intended security controls for the Model Context Protocol (MCP) server configuration, specifically those established in the previous CVE-2025-8943 patch. While the original patch successfully filtered dangerous CLI flags like <code>-y</code> for <code>npx</code>, it failed to account for <code>npm</code> configuration that can be passed via environment variables (e.g., <code>npm_config_yes</code>).</p>
<p>Because Flowise defaults to an unauthenticated state, a remote attacker can interact with the API to register a malicious MCP server. By including specific environment variables in the configuration, an attacker can influence the behavior of <code>npx</code>, <code>node</code>, or <code>python3</code> to achieve remote code execution. This is a classic case of incomplete denylisting, where developers attempted to enumerate dangerous inputs rather than implementing a secure allowlist, leaving the environment vulnerable to various configuration injection vectors.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker discovers an internet-facing, unauthenticated Flowise instance.</li>
<li>Attacker interacts with the Flowise API to create or update an MCP server configuration.</li>
<li>Attacker crafts a JSON payload containing the <code>mcpServers</code> object with a command like <code>npx</code>.</li>
<li>Attacker inserts environment variables such as <code>npm_config_yes=true</code> into the <code>env</code> field of the payload.</li>
<li>Flowise validation logic (<code>validateCommandFlags</code>) is bypassed because the CLI flags are clean.</li>
<li>Flowise validation logic (<code>validateEnvironmentVariables</code>) is bypassed because the blocklist only contains four hardcoded entries (PATH, LD_LIBRARY_PATH, DYLD_LIBRARY_PATH, NODE_OPTIONS).</li>
<li>Flowise spawns the <code>npx</code> process, which reads the injected environment variable and proceeds with automatic package installation.</li>
<li>Malicious code is executed under the privileges of the Flowise process, resulting in full system compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in unauthenticated remote code execution on the server running Flowise. Given the tool's nature as an LLM integration platform, successful compromise often grants an attacker access to connected sensitive data, API keys for AI providers, and internal network resources. All versions up to and including 3.1.2 are confirmed to be vulnerable.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Upgrade to a version of Flowise that implements an allowlist-based validation approach for environment variables rather than a denylist.</li>
<li>Implement strict authentication on all Flowise API endpoints to prevent unauthenticated access to configuration interfaces.</li>
<li>Restrict outbound network access for the server running Flowise to prevent the automatic installation of arbitrary npm/pip packages from the internet.</li>
<li>Ensure that the service account running the Flowise process operates with the principle of least privilege, minimizing the damage from a successful code execution event.</li>
</ol>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>rce</category><category>injection</category><category>flowise</category><category>cve-2026-69263</category><category>python-injection</category><category>authentication-bypass</category><category>oauth</category><category>cve-2026-70478</category><category>web-vulnerability</category><category>broken-access-control</category><category>oauth2</category><category>arbitrary-file-write</category><category>path-traversal</category><category>privilege-escalation</category><category>web-application</category><category>secrets-disclosure</category></item><item><title>Flowise CSVAgent Authenticated Remote Code Execution</title><link>https://feed.craftedsignal.io/briefs/2024-10-flowise-rce/</link><pubDate>Sat, 26 Oct 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-10-flowise-rce/</guid><description>Flowise versions 3.0.13 and earlier are vulnerable to authenticated remote code execution due to missing sanitization in the CSVAgent component's customReadCSVFunc parameter, leading to arbitrary code injection and server compromise.</description><content:encoded><![CDATA[<p>Flowise, an open-source visual AI workflow tool, is vulnerable to a critical remote code execution (RCE) flaw in versions 3.0.13 and earlier. The vulnerability exists within the CSVAgent component, where the <code>customReadCSVFunc</code> parameter is not properly sanitized. This allows an authenticated attacker to inject arbitrary code into the <code>code</code> variable, which is then executed by the <code>pyodide</code> library on the server. The attack requires authentication but can be bypassed if <code>FLOWISE_USERNAME</code> and <code>FLOWISE_PASSWORD</code> are not set and the attacker provides the <code>&quot;x-request-from&quot;: &quot;internal&quot;</code> header. Successful exploitation grants the attacker the ability to execute arbitrary commands on the underlying server, leading to a complete system compromise. The vulnerability was disclosed in GitHub Advisory GHSA-9wc7-mj3f-74xv.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker authenticates to the Flowise application, or bypasses authentication by setting the <code>x-request-from</code> header.</li>
<li>The attacker crafts a malicious payload containing Python code for execution, embedding OS commands such as <code>whoami</code>. Example: <code>DataFrame({'foo': ['bar!']});import os;os.system('whoami')</code>.</li>
<li>The attacker creates a new chat flow via a <code>POST</code> request to <code>/api/v1/chatflows</code>, including a CSVAgent node with the malicious payload in the <code>customReadCSV</code> field.</li>
<li>The server saves the attacker-controlled <code>customReadCSV</code> code within the chat flow definition.</li>
<li>The attacker triggers the execution of the crafted chat flow by sending a <code>POST</code> request to <code>/api/v1/prediction/[CHATFLOWID]</code>, which invokes the CSVAgent.</li>
<li>The <code>pyodide.runPythonAsync</code> function executes the injected code due to insufficient sanitization of the <code>customReadCSV</code> input.</li>
<li>The injected code executes arbitrary OS commands on the server.</li>
<li>The attacker gains full control of the Flowise server.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability results in Remote Code Execution (RCE) on the Flowise server. This allows an attacker to execute arbitrary commands, potentially leading to complete system compromise. Affected versions include Flowise and Flowise-components up to and including version 3.0.13. The impact is critical, as it allows for unauthorized access and control of the server infrastructure.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Flowise and Flowise-components to a version higher than 3.0.13 to patch the vulnerability (GHSA-9wc7-mj3f-74xv).</li>
<li>Enforce strong authentication and authorization policies for the Flowise application to prevent unauthorized access and exploitation.</li>
<li>Deploy the Sigma rule <code>Detect Flowise CSVAgent RCE Attempt via Malicious customReadCSV</code> to identify exploitation attempts based on suspicious strings in HTTP request bodies targeting the <code>/api/v1/chatflows</code> endpoint.</li>
<li>Monitor web server logs for POST requests to <code>/api/v1/chatflows</code> and <code>/api/v1/prediction</code> with suspicious code-like strings in the request body, especially within the <code>customReadCSV</code> parameter.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>code-injection</category><category>rce</category><category>flowise</category></item></channel></rss>