<?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>FlowiseAI — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/flowiseai/</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>Thu, 14 May 2026 16:23:48 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/flowiseai/feed.xml" rel="self" type="application/rss+xml"/><item><title>FlowiseAI Evaluation Cross-Workspace Data Takeover via Mass Assignment</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowiseai-evaluation-takeover/</link><pubDate>Thu, 14 May 2026 16:23:48 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowiseai-evaluation-takeover/</guid><description>FlowiseAI is vulnerable to a mass assignment vulnerability (fixed in PR 6050) that allows authenticated users to move Evaluation entities between workspaces by overwriting the `workspaceId` field via API request, leading to unauthorized data access.</description><content:encoded><![CDATA[<p>FlowiseAI, a low-code/no-code platform for building AI orchestration flows, is susceptible to a mass assignment vulnerability in versions 3.1.1 and earlier. The vulnerability resides within the Evaluation controller/service (<code>packages/server/src/services/evaluations/index.ts</code>). By exploiting this flaw, an authenticated user can manipulate the <code>workspaceId</code> of an Evaluation entity. This manipulation is possible due to the use of <code>Object.assign(entity, body)</code> without proper input validation, allowing an attacker to inject arbitrary <code>workspaceId</code> values into the request body. The vulnerability poses a significant risk as it enables cross-workspace data access and manipulation, potentially exposing sensitive information to unauthorized users. The root cause is similar to a previously patched vulnerability in <code>DocumentStore</code> (commit 840d2ae), indicating a pattern of insecure object assignment within the codebase.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker authenticates to FlowiseAI as a member of workspace A, obtaining a valid session cookie or JWT.</li>
<li>Attacker identifies or creates an Evaluation entity within workspace A, noting its unique <code>id</code>.</li>
<li>Attacker obtains the <code>workspaceId</code> of a target workspace B, potentially through API enumeration (e.g., <code>/api/v1/workspaces</code>) or by inspecting other entities&rsquo; <code>workspaceId</code> fields.</li>
<li>Attacker crafts a <code>PUT</code> request to the <code>/api/v1/evaluations/&lt;id&gt;</code> endpoint, using the <code>id</code> of the Evaluation entity from workspace A.</li>
<li>The request body includes a JSON payload with the <code>&quot;workspaceId&quot;</code> field set to the <code>workspaceId</code> of workspace B.</li>
<li>The server&rsquo;s Evaluation controller receives the request and uses <code>Object.assign(updateEntity, body)</code> to update the Evaluation entity. The attacker-controlled <code>workspaceId</code> overwrites the existing value.</li>
<li>The persistence layer commits the changes to the database, associating the Evaluation entity with workspace B.</li>
<li>The Evaluation entity is now accessible to members of workspace B and inaccessible to members of workspace A, resulting in unauthorized data access and potential modification.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The vulnerability allows any authenticated user to move Evaluation entities between workspaces. This cross-workspace boundary violation allows an attacker to access and potentially modify evaluation runs, including captured prompts, model outputs, and scoring data, belonging to other workspaces. Successful exploitation leads to a high level of data exposure, as the attacker can exfiltrate or manipulate data that should be isolated to specific workspaces. The vulnerability affects FlowiseAI versions up to and including 3.1.1.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade FlowiseAI to the latest version, which includes the fix from PR <a href="https://github.com/FlowiseAI/Flowise/pull/6050">https://github.com/FlowiseAI/Flowise/pull/6050</a> that implements an allowlist pattern for updating Evaluation entities.</li>
<li>Deploy the Sigma rule <code>Detect FlowiseAI Evaluation WorkspaceId Manipulation</code> to identify potential exploitation attempts by monitoring PUT requests to the <code>/api/v1/evaluations/&lt;id&gt;</code> endpoint with modified <code>workspaceId</code> values.</li>
<li>Implement regression tests, as suggested in the source, to ensure that future code changes do not reintroduce the mass assignment vulnerability.</li>
<li>Consider implementing additional input validation on API endpoints to prevent similar mass assignment vulnerabilities in other parts of the application.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>mass-assignment</category><category>cross-workspace</category><category>privilege-escalation</category></item><item><title>FlowiseAI Evaluator Cross-Workspace Takeover via Mass Assignment</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowiseai-evaluator-takeover/</link><pubDate>Thu, 14 May 2026 16:23:34 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowiseai-evaluator-takeover/</guid><description>FlowiseAI is vulnerable to a mass assignment vulnerability in the Evaluator controller/service, where an attacker can manipulate the `workspaceId` during evaluator creation or updates, leading to cross-workspace data takeover and IDOR.</description><content:encoded><![CDATA[<p>FlowiseAI versions 3.1.1 and earlier are susceptible to a mass assignment vulnerability within the Evaluator entity. This flaw arises from the Evaluator controller/service&rsquo;s use of <code>Object.assign(entity, body)</code> without proper input validation, allowing client-controlled parameters such as <code>workspaceId</code>, <code>id</code>, <code>createdDate</code>, and <code>updatedDate</code> to be injected via API requests. An attacker, authenticated within one workspace, can leverage this vulnerability to move Evaluator entities—and potentially sensitive scoring rubrics—to other workspaces. This can result in unauthorized access to data, privilege escalation, and a loss of data ownership. This issue is similar to a previously patched vulnerability in the <code>DocumentStore</code> (commit 840d2ae), indicating a systemic pattern of insecure object assignment within the application.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker authenticates to the FlowiseAI web UI as a member of workspace A, obtaining a valid session cookie or JWT.</li>
<li>The attacker creates or identifies an existing Evaluator entity within workspace A.</li>
<li>The attacker crafts a malicious <code>PUT</code> request to the <code>/api/v1/evaluators/&lt;id&gt;</code> endpoint (or equivalent) targeting the Evaluator entity identified in the previous step.</li>
<li>The attacker includes a JSON body within the <code>PUT</code> request, specifically setting the <code>workspaceId</code> parameter to the UUID of a different workspace (workspace B).</li>
<li>The FlowiseAI server receives the request and, due to the mass assignment vulnerability, uses <code>Object.assign(updateEntity, body)</code> to update the Evaluator entity, overwriting its <code>workspaceId</code> with the attacker-supplied value.</li>
<li>The persistence layer commits the changes to the database, effectively transferring ownership of the Evaluator entity to workspace B.</li>
<li>Members of workspace B can now access, modify, and utilize the transferred Evaluator entity.</li>
<li>The attacker&rsquo;s workspace A loses access to the Evaluator, and no suspicious activity is logged in workspace A&rsquo;s audit logs, masking the malicious action.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability allows any authenticated user with permission to update an evaluator to move it to any workspace. The impact of a successful attack includes unauthorized access to evaluators and their scoring rubrics by members of the target workspace, data exfiltration, and potential privilege escalation. An attacker can enumerate workspace UUIDs via the <code>/api/v1/workspaces</code> API listing or through other API responses, making it trivial to identify valid target workspaces.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade FlowiseAI to version 3.1.2 or later, where the fix from pull request #6050 has been applied.</li>
<li>Deploy the Sigma rule &ldquo;Detect FlowiseAI Evaluator WorkspaceId Manipulation via API&rdquo; to identify attempts to exploit this vulnerability by monitoring API requests that modify the <code>workspaceId</code> parameter.</li>
<li>Implement regression tests to verify that attempts to modify <code>workspaceId</code>, <code>id</code>, <code>createdDate</code>, or <code>updatedDate</code> via API requests are rejected or ignored by the server.</li>
<li>Apply the allowlist pattern to all controllers that handle entity updates to prevent similar mass assignment vulnerabilities.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">threat</category><category>mass-assignment</category><category>idor</category><category>privilege-escalation</category><category>cloud</category></item></channel></rss>