<?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/"><channel><title>Flowise — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/flowise/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 17 Apr 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/flowise/feed.xml" rel="self" type="application/rss+xml"/><item><title>Flowise Authenticated Remote Code Execution via MCP Adapter</title><link>https://feed.craftedsignal.io/briefs/2026-04-flowise-rce/</link><pubDate>Fri, 17 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-flowise-rce/</guid><description>Flowise versions 3.0.13 and earlier are vulnerable to authenticated arbitrary command execution due to unsafe serialization of stdio commands in the MCP adapter, allowing a malicious user to execute commands on the underlying operating system.</description><content:encoded><![CDATA[<p>Flowise is an open-source low-code platform to build customized AI flow. Versions 3.0.13 and earlier contain a critical vulnerability that allows authenticated users to execute arbitrary commands on the underlying operating system. This vulnerability stems from insufficient input sanitization within the MCP (Model Composition Protocol) adapter. By adding a new MCP using stdio, an attacker can inject malicious commands, bypassing existing sanitization checks. Specifically, the vulnerability lies in the &ldquo;Custom MCP&rdquo; configuration where commands like &ldquo;npx&rdquo; can be combined with code execution arguments (e.g., &ldquo;npx -c touch /tmp/pwn&rdquo;), leading to direct code execution. This vulnerability affects both the <code>flowise</code> and <code>flowise-components</code> packages.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker authenticates to the Flowise application.</li>
<li>Attacker navigates to the Custom MCP configuration page (e.g., <code>/canvas</code>).</li>
<li>Attacker creates a new Custom MCP adapter.</li>
<li>Attacker configures the MCP adapter to use stdio.</li>
<li>Attacker injects a malicious command, such as &ldquo;npx -c touch /tmp/pwn&rdquo;, into the command or arguments fields. This bypasses <code>validateCommandInjection</code> and <code>validateArgsForLocalFileAccess</code> checks.</li>
<li>Flowise application executes the attacker-supplied command via the MCP adapter.</li>
<li>Malicious command is executed on the underlying operating system.</li>
<li>Attacker achieves arbitrary code execution on the server.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an authenticated attacker to achieve arbitrary command execution on the Flowise server. This could lead to complete system compromise, data theft, or denial of service. The vulnerability affects Flowise installations running versions 3.0.13 and earlier. The number of affected installations is currently unknown, but given the popularity of Flowise, the potential impact is significant.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Flowise and Flowise-components to a version greater than 3.0.13 to patch CVE-2026-40933.</li>
<li>Monitor process creation events for the execution of &ldquo;npx&rdquo; with the &ldquo;-c&rdquo; argument where the parent process is the Flowise application. Deploy the provided Sigma rule <code>Detect Flowise MCP Command Execution</code> to identify potential exploitation attempts.</li>
<li>Implement stricter input validation and sanitization measures within the MCP adapter configuration to prevent command injection attacks.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>flowise</category><category>rce</category><category>command-injection</category></item><item><title>Flowise SSRF Protection Bypass via Unprotected Built-in HTTP Modules</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-flowise-ssrf/</link><pubDate>Thu, 16 Apr 2026 21:50:12 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-flowise-ssrf/</guid><description>Flowise is vulnerable to SSRF protection bypass via unprotected built-in HTTP modules in the custom function sandbox, allowing authenticated users to access internal network resources by exploiting the lack of SSRF protection on Node.js `http`, `https`, and `net` modules.</description><content:encoded><![CDATA[<p>Flowise, a low-code platform for building custom automation workflows, is susceptible to a Server-Side Request Forgery (SSRF) protection bypass. This vulnerability stems from the application&rsquo;s incomplete implementation of SSRF defenses. While <code>axios</code> and <code>node-fetch</code> libraries are secured with an <code>HTTP_DENY_LIST</code>, the built-in Node.js modules <code>http</code>, <code>https</code>, and <code>net</code> are permitted within the NodeVM sandbox without any equivalent restrictions. An authenticated attacker can exploit this oversight in Flowise version 3.0.13 and earlier to make arbitrary HTTP requests to internal network resources. This issue allows bypassing intended security controls and potentially accessing sensitive information, such as cloud provider metadata services.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker authenticates to a Flowise instance using a valid API key or session.</li>
<li>The attacker crafts a malicious JavaScript payload designed to exploit the custom function feature.</li>
<li>The malicious payload imports the built-in <code>http</code> module.</li>
<li>The payload constructs an HTTP request targeting an internal resource, such as the AWS metadata service at <code>169.254.169.254</code>.</li>
<li>The request includes a header to obtain an IAM token: <code>'X-aws-ec2-metadata-token-ttl-seconds': '21600'</code>.</li>
<li>The payload uses the obtained IAM token to request temporary AWS credentials from the metadata service.</li>
<li>The custom function executes the code within the NodeVM sandbox, bypassing the intended SSRF protection.</li>
<li>The attacker retrieves the temporary AWS credentials from the metadata service, potentially leading to unauthorized access to AWS resources.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this SSRF vulnerability can have significant consequences. Attackers can steal temporary IAM credentials from cloud provider metadata services, granting them unauthorized access to other cloud resources. Furthermore, they can scan internal networks to discover services and identify additional attack targets. The ability to reach databases, admin panels, and other internal APIs that should not be externally accessible poses a severe security risk, potentially leading to data breaches or system compromise. All Flowise deployments where <code>HTTP_DENY_LIST</code> is configured for SSRF protection are vulnerable, while deployments without it are already generally vulnerable to SSRF.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the necessary patches to Flowise to remediate the SSRF vulnerability as described in GHSA-xhmj-rg95-44hv.</li>
<li>Deploy the following Sigma rule to detect exploitation attempts involving the <code>http</code> module targeting common cloud metadata endpoints: <code>Flowise SSRF Using HTTP Module</code>.</li>
<li>Enable logging of HTTP requests originating from the Flowise server to aid in identifying and investigating potential SSRF attacks.</li>
<li>Review and harden network segmentation to limit the impact of potential SSRF vulnerabilities.</li>
<li>Consider disabling the custom function feature if it is not essential to the functionality of the Flowise deployment.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>ssrf</category><category>flowise</category><category>cloud</category></item></channel></rss>