<?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/vendors/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:24:56 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/flowiseai/feed.xml" rel="self" type="application/rss+xml"/><item><title>FlowiseAI OpenAI Assistants Vector Store Missing Authentication</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowiseai-vector-store-no-auth/</link><pubDate>Thu, 14 May 2026 16:24:56 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowiseai-vector-store-no-auth/</guid><description>FlowiseAI versions 3.1.1 and earlier are vulnerable to a privilege escalation due to missing authentication and permission checks on the OpenAI Assistants Vector Store CRUD endpoints, allowing any authenticated user to create, modify, upload files to, and delete vector stores and files, regardless of their assigned permissions.</description><content:encoded><![CDATA[<p>FlowiseAI versions up to and including 3.1.1 are vulnerable to a critical privilege escalation issue affecting the OpenAI Assistants Vector Store. The vulnerability stems from a lack of authentication middleware and permission checks on the Create, Read, Update, and Delete (CRUD) endpoints for the vector store. Specifically, the <code>/api/v1/openai-assistants-vector-store</code> route, while requiring API key authentication, does not enforce any permission checks on operations. This oversight allows any authenticated user, regardless of their assigned role or permissions, to perform unrestricted actions on the vector store, including creating new stores, uploading files, deleting stores and files, and modifying existing stores.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker authenticates to the FlowiseAI instance using a valid API key.</li>
<li>The attacker sends a POST request to <code>/api/v1/openai-assistants-vector-store</code> to create a new vector store.</li>
<li>The application, lacking permission checks, creates the new vector store without validating the user&rsquo;s privileges.</li>
<li>The attacker sends a POST request to <code>/api/v1/openai-assistants-vector-store/{id}</code> to upload malicious files to the created vector store, exploiting the missing checks on file upload.</li>
<li>The attacker sends a PUT request to <code>/api/v1/openai-assistants-vector-store/{id}</code> to modify the vector store&rsquo;s configuration or data.</li>
<li>Alternatively, the attacker sends a DELETE request to <code>/api/v1/openai-assistants-vector-store/{id}</code> to delete vector stores and associated files.</li>
<li>The application executes the requested operation without proper authorization validation, leading to data manipulation or deletion.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows any authenticated user to manipulate OpenAI vector stores within FlowiseAI. This can lead to the upload of malicious files, unauthorized deletion of sensitive data, exfiltration of stored documents, or modification of vector store configurations. This privilege escalation could allow an attacker to compromise the integrity and confidentiality of data stored within FlowiseAI.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule provided below to detect unauthorized creation of vector stores via the <code>/api/v1/openai-assistants-vector-store</code> endpoint.</li>
<li>Deploy the Sigma rule provided below to detect unauthorized deletion of vector stores and files via the <code>/api/v1/openai-assistants-vector-store/{id}</code> endpoint.</li>
<li>Upgrade FlowiseAI to a patched version greater than 3.1.1 to remediate the missing authentication and permission checks.</li>
<li>Implement robust access control mechanisms and permission validation on all API endpoints to prevent unauthorized data manipulation.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">threat</category><category>privilege-escalation</category><category>missing-authentication</category><category>crud</category></item><item><title>FlowiseAI Cross-Workspace Assistant Takeover via Mass Assignment</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowiseai-workspace-takeover/</link><pubDate>Thu, 14 May 2026 16:24:43 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowiseai-workspace-takeover/</guid><description>FlowiseAI is vulnerable to a mass assignment vulnerability in the Assistant controller/service allowing an attacker, authenticated as a member of one workspace, to move an assistant (including configurations, instructions, tools and credentials) to another workspace by overwriting the `workspaceId` and `id` fields in the request body, leading to cross-workspace data takeover and IDOR.</description><content:encoded><![CDATA[<p>FlowiseAI versions 3.1.1 and earlier are vulnerable to a mass assignment vulnerability in the Assistant controller located in <code>packages/server/src/services/assistants/index.ts</code>. An authenticated user can exploit this vulnerability to move an assistant, including its configuration, instructions, attached tools, and credentials, from one workspace to another. The vulnerability stems from the use of <code>Object.assign(entity, body)</code> without proper input validation, allowing a malicious actor to overwrite the <code>workspaceId</code> and <code>id</code> attributes of the Assistant entity. This issue is similar to a previously patched vulnerability in the <code>DocumentStore</code> (commit 840d2ae), highlighting a pattern of insecure mass assignment within the application. This vulnerability can lead to cross-workspace data access and privilege escalation.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker authenticates to FlowiseAI as a member of workspace A, obtaining a valid session cookie or JWT.</li>
<li>The attacker creates (or reuses) an existing assistant within workspace A and notes the assistant&rsquo;s <code>id</code>.</li>
<li>The attacker crafts a malicious <code>PUT</code> request to the <code>/api/v1/assistants/&lt;id&gt;</code> endpoint.</li>
<li>The <code>PUT</code> request includes a JSON body containing a <code>workspaceId</code> attribute set to the UUID of workspace B (the target workspace).</li>
<li>The FlowiseAI server receives the request and calls <code>Object.assign(updateEntity, body)</code> within the Assistant controller.</li>
<li>The <code>workspaceId</code> in the request body overwrites the existing <code>workspaceId</code> of the assistant entity.</li>
<li>The persistence layer updates the assistant record in the database, associating it with workspace B.</li>
<li>The assistant is now accessible to members of workspace B, and the attacker in workspace A loses access.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability allows any authenticated user with permission to update an assistant to move it to another workspace, violating workspace isolation. Given that workspace UUIDs are easily enumerated via the API, an attacker can readily target specific workspaces. Successfully moving an assistant grants the destination workspace access to the assistant&rsquo;s configuration, instructions, attached tools, and credentials, potentially leading to unauthorized access to sensitive data and resources. This issue is classified as high severity because it breaks a fundamental security boundary within the application.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade FlowiseAI to a version higher than 3.1.1 to incorporate the fix described in PR <a href="https://github.com/FlowiseAI/Flowise/pull/6128">https://github.com/FlowiseAI/Flowise/pull/6128</a>.</li>
<li>Deploy the Sigma rule <code>Detect FlowiseAI WorkspaceId Mass Assignment</code> to your SIEM to identify potential exploitation attempts.</li>
<li>Implement regression tests as described in the advisory to prevent future occurrences of this type of vulnerability; ensure requests containing <code>workspaceId</code>, <code>id</code>, <code>createdDate</code>, or <code>updatedDate</code> are rejected on both create and update paths.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>mass-assignment</category><category>cross-workspace</category><category>flowiseai</category></item><item><title>FlowiseAI CustomTemplate Mass Assignment Allows Cross-Workspace Template Takeover</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowise-template-takeover/</link><pubDate>Thu, 14 May 2026 16:24:30 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowise-template-takeover/</guid><description>FlowiseAI is vulnerable to cross-workspace data takeover due to mass assignment in the CustomTemplate controller, allowing an attacker to move templates to other workspaces by overwriting the `workspaceId` via API request.</description><content:encoded><![CDATA[<p>FlowiseAI versions 3.1.1 and earlier are vulnerable to a mass assignment vulnerability in the CustomTemplate controller (<code>packages/server/src/services/marketplaces/index.ts</code>). This flaw allows an authenticated attacker to modify the <code>workspaceId</code> of a custom template through an API request, effectively moving the template to another workspace. The vulnerability stems from the use of <code>Object.assign(entity, body)</code> without proper input validation, enabling the client to control critical fields like <code>workspaceId</code> and <code>id</code>. This issue poses a significant threat as it breaks workspace isolation and allows unauthorized access to custom templates. The vulnerability was identified and a fix has been suggested via allowlisting in PR <a href="https://github.com/FlowiseAI/Flowise/pull/6129">https://github.com/FlowiseAI/Flowise/pull/6129</a>.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker, authenticated to workspace A, obtains a valid session cookie/JWT for the Flowise web UI.</li>
<li>Attacker identifies or creates a custom template within workspace A and notes its entity <code>id</code>.</li>
<li>Attacker crafts a <code>PUT /api/v1/customtemplates/&lt;id&gt;</code> request, including a JSON body with the target workspace B&rsquo;s UUID in the <code>&quot;workspaceId&quot;</code> field (e.g., <code>&quot;workspaceId&quot;: &quot;&lt;workspace-B-id&gt;&quot;</code>).</li>
<li>The server receives the request and calls <code>Object.assign(updateEntity, body)</code>, copying the attacker-supplied <code>workspaceId</code> into the entity.</li>
<li>The updated entity, now associated with workspace B, is persisted to the database.</li>
<li>The custom template is now accessible to members of workspace B and can be modified or used by them.</li>
<li>The attacker from workspace A loses access to the template, as it is no longer associated with their workspace.</li>
<li>Workspace A&rsquo;s audit logs do not reflect any unauthorized activity, as the operation appears as a normal template update.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability allows any authenticated user to violate workspace boundaries, potentially exposing sensitive workflow templates to unauthorized users. An attacker can move a customtemplate to any workspace whose UUID they can enumerate, which is made trivial due to workspace UUIDs being exposed in API responses. Successful exploitation allows unauthorized access, modification, and usage of custom templates, potentially leading to data leaks or other malicious activities.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to a version of FlowiseAI that includes the fix from PR <a href="https://github.com/FlowiseAI/Flowise/pull/6129">https://github.com/FlowiseAI/Flowise/pull/6129</a>, which implements an allowlist pattern.</li>
<li>Implement regression tests as described in the advisory to prevent future regressions that could reintroduce mass assignment vulnerabilities in CustomTemplate creation and update paths.</li>
<li>Deploy the Sigma rule <code>Detect Flowise CustomTemplate WorkspaceId Modification</code> to detect potential exploitation attempts by monitoring API requests to the <code>/api/v1/customtemplates/&lt;id&gt;</code> endpoint with a modified <code>workspaceId</code> in the request body.</li>
<li>Enable webserver logging to facilitate the detection of malicious HTTP requests.</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 Cross-Workspace Dataset Takeover via Mass Assignment</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowiseai-dataset-takeover/</link><pubDate>Thu, 14 May 2026 16:24:15 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowiseai-dataset-takeover/</guid><description>FlowiseAI is vulnerable to a mass assignment vulnerability via `Object.assign(entity, body)` which allows a client-controlled `workspaceId` to be overwritten on the Dataset entity, leading to cross-workspace data takeover and IDOR.</description><content:encoded><![CDATA[<p>FlowiseAI versions 3.1.1 and earlier contain a mass assignment vulnerability in the Dataset service, allowing authenticated users to move datasets between workspaces. The vulnerability stems from the use of <code>Object.assign()</code> to copy request body parameters directly into Dataset entities without proper input validation or sanitization. Specifically, the <code>workspaceId</code> field can be overwritten by a malicious user, leading to unauthorized access and data exposure in the target workspace. The root cause mirrors a previously patched vulnerability in the <code>DocumentStore</code> service, indicating a systemic issue with input handling across the application. This flaw can be exploited by any authenticated user with permission to update a dataset.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker authenticates to FlowiseAI within workspace A, obtaining a valid session cookie or JWT.</li>
<li>The attacker identifies a dataset within workspace A that they have permission to update.</li>
<li>The attacker crafts a malicious API request (PUT <code>/api/v1/datasets/&lt;id&gt;</code>) to update the target dataset.</li>
<li>The request body includes a <code>workspaceId</code> parameter set to the UUID of a different workspace (workspace B).</li>
<li>The server-side Dataset controller uses <code>Object.assign(updateEntity, body)</code> to update the dataset entity, blindly accepting the malicious <code>workspaceId</code>.</li>
<li>The persistence layer commits the changes to the database, updating the <code>workspaceId</code> of the dataset.</li>
<li>The dataset is now associated with workspace B, granting access to members of workspace B.</li>
<li>The attacker in workspace A loses access to the dataset, effectively transferring ownership.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability allows any authenticated user to move datasets from one workspace to another, leading to unauthorized data access and potential data breaches. Datasets contain training and evaluation data, which may include sensitive information. Successful exploitation allows unauthorized access to this data in the destination workspace, and removes access from the original owner. Given that workspace UUIDs can be enumerated via the API, the impact is significant.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the patch from PR <a href="https://github.com/FlowiseAI/Flowise/pull/6051">https://github.com/FlowiseAI/Flowise/pull/6051</a> which implements an allowlist pattern.</li>
<li>Implement regression tests to ensure that attempts to modify <code>workspaceId</code>, <code>id</code>, <code>createdDate</code>, or <code>updatedDate</code> fields via API requests are rejected or ignored (see suggested fix in content).</li>
<li>Deploy the Sigma rule below to detect suspicious updates to dataset entities with modified <code>workspaceId</code> values.</li>
<li>Implement input validation on all API endpoints that modify Dataset entities to prevent mass assignment vulnerabilities.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>mass-assignment</category><category>cross-workspace</category><category>idor</category><category>flowiseai</category></item><item><title>FlowiseAI DatasetRow Mass Assignment Allows Cross-Workspace Data Takeover</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowiseai-datasetrow-takeover/</link><pubDate>Thu, 14 May 2026 16:24:01 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowiseai-datasetrow-takeover/</guid><description>FlowiseAI is vulnerable to a mass assignment vulnerability in the DatasetRow controller/service, allowing an authenticated attacker to overwrite the `workspaceId` and `id` of a DatasetRow entity, leading to cross-workspace data takeover and IDOR.</description><content:encoded><![CDATA[<p>FlowiseAI versions 3.1.1 and earlier contain a mass assignment vulnerability in the DatasetRow controller/service (<code>packages/server/src/services/dataset/index.ts</code>). The vulnerability arises from the use of <code>Object.assign(entity, body)</code> without an explicit field allowlist when creating or updating DatasetRow entities. This allows an attacker to control properties like <code>workspaceId</code> and <code>id</code> through the request body, leading to a cross-workspace data takeover. The vulnerability is similar to a previously patched issue in <code>DocumentStore</code> (commit 840d2ae), where an explicit field-by-field allowlist was implemented. This oversight enables an authenticated user to move DatasetRows, which contain individual training/evaluation records, between workspaces, potentially exposing sensitive data.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker, authenticated as a member of workspace A, obtains a valid session cookie or JWT for the Flowise web UI.</li>
<li>The attacker creates a new DatasetRow within workspace A using the documented API (or reuses an existing one).</li>
<li>The attacker identifies the <code>id</code> of the DatasetRow they control.</li>
<li>The attacker sends a <code>PUT</code> request to the <code>/api/v1/datasetrows/&lt;id&gt;</code> endpoint (or an equivalent update endpoint).</li>
<li>The <code>PUT</code> request includes a JSON body containing <code>&quot;workspaceId&quot;: &quot;&lt;workspace-B-id&gt;&quot;</code>, where <code>&lt;workspace-B-id&gt;</code> is the UUID of a different, arbitrary workspace.</li>
<li>The server-side controller receives the request and executes <code>Object.assign(updateEntity, body)</code>.</li>
<li>The <code>workspaceId</code> value from the request body overwrites the original <code>workspaceId</code> field of the <code>updateEntity</code>.</li>
<li>The persistence layer commits the modified row to the database, resulting in the DatasetRow being associated with workspace B. Members of workspace B can now access, modify, and utilize the transferred DatasetRow, while workspace A loses access.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows any authenticated workspace member with the permission to update a DatasetRow to move it to any workspace. Since workspace UUIDs are exposed through API responses (e.g., <code>/api/v1/workspaces</code>), enumeration is trivial. This cross-workspace boundary violation exposes training/evaluation records contained in DatasetRows to unauthorized users. An attacker can also rebind a row to a Dataset in another workspace via <code>datasetId</code>, further exposing row content.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to FlowiseAI version 3.1.2 or later, where the fix from PR <a href="https://github.com/FlowiseAI/Flowise/pull/6051">https://github.com/FlowiseAI/Flowise/pull/6051</a> has been applied, implementing an allowlist pattern.</li>
<li>Deploy the Sigma rule &ldquo;Detect FlowiseAI DatasetRow WorkspaceId Modification&rdquo; to detect attempts to modify the <code>workspaceId</code> parameter via the <code>/api/v1/datasetrows</code> endpoint.</li>
<li>Implement regression tests that assert requests containing <code>workspaceId</code>, <code>id</code>, <code>createdDate</code>, or <code>updatedDate</code> are rejected or do not change those columns on the persisted row for both create and update paths, as suggested in the overview.</li>
<li>Monitor web server logs for PUT requests to <code>/api/v1/datasetrows</code> with unusual parameters in the request body.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>mass-assignment</category><category>idor</category><category>cross-workspace</category></item><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><item><title>FlowiseAI Mass Assignment in Assistant Update Endpoint Allows Cross-Workspace Resource Reassignment</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowiseai-mass-assignment/</link><pubDate>Thu, 14 May 2026 15:00:09 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowiseai-mass-assignment/</guid><description>FlowiseAI version 3.1.1 and earlier contains a mass assignment vulnerability in the assistant update endpoint, allowing authenticated users to modify server-controlled properties like workspaceId, createdDate, and updatedDate, enabling cross-workspace reassignment of assistants and breaking tenant isolation in multi-workspace environments.</description><content:encoded><![CDATA[<p>FlowiseAI version 3.1.1 and earlier is vulnerable to a mass assignment vulnerability in its assistant update endpoint. This vulnerability allows authenticated users to modify server-controlled properties, including workspaceId, createdDate, and updatedDate. By manipulating these properties, particularly the workspaceId, an attacker can reassign assistants to arbitrary workspaces. This poses a significant risk in multi-tenant deployments where tenant isolation is critical. The vulnerability arises due to missing server-side validation and authorization checks, allowing user-controlled request bodies to override internal, server-controlled properties. This can lead to unauthorized data access and modification across different workspaces.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker authenticates to the FlowiseAI interface with valid credentials.</li>
<li>Attacker captures the HTTP request sent to update an assistant resource using the PUT <code>/api/v1/assistants/{assistantId}</code> endpoint.</li>
<li>Attacker modifies the JSON request body to include the <code>workspaceId</code> parameter, setting it to the target workspace&rsquo;s ID.</li>
<li>The attacker also injects <code>createdDate</code> and <code>updatedDate</code> parameters to control the assistant&rsquo;s metadata.</li>
<li>Attacker sends the modified request to the <code>/api/v1/assistants/{assistantId}</code> endpoint.</li>
<li>The server accepts the attacker-controlled <code>workspaceId</code>, <code>createdDate</code>, and <code>updatedDate</code> values without proper validation.</li>
<li>The assistant resource is reassigned to the attacker-specified workspace, breaking tenant isolation.</li>
<li>The attacker can now access and manipulate the reassigned assistant within the target workspace, potentially gaining unauthorized access to sensitive data.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The mass assignment vulnerability in FlowiseAI allows authenticated users to perform unauthorized actions, including cross-workspace reassignment of assistants and modification of metadata. In multi-tenant deployments, this can lead to a complete breakdown of tenant isolation, allowing attackers to access and manipulate resources belonging to other tenants. The confirmed impacts include unauthorized modification of assistant metadata and cross-workspace data access. If successful, this can lead to data breaches, compliance violations, and reputational damage.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Detect FlowiseAI Assistant WorkspaceId Manipulation</code> to detect attempts to modify the workspaceId parameter in the <code>/api/v1/assistants/{assistantId}</code> endpoint.</li>
<li>Deploy the Sigma rule <code>Detect FlowiseAI Assistant Date Field Manipulation</code> to detect attempts to modify the createdDate or updatedDate parameters in the <code>/api/v1/assistants/{assistantId}</code> endpoint.</li>
<li>Upgrade FlowiseAI to a version greater than 3.1.1 to remediate the mass assignment vulnerability.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>mass assignment</category><category>tenant isolation</category><category>flowiseai</category><category>web application</category></item><item><title>FlowiseAI Credential Data Leak via Filtered API Request</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowiseai-credential-leak/</link><pubDate>Thu, 14 May 2026 14:59:56 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowiseai-credential-leak/</guid><description>FlowiseAI versions 3.1.1 and earlier leak encrypted credential data when API requests include a `credentialName` filter, potentially leading to full credential theft if combined with access to the encryption key.</description><content:encoded><![CDATA[<p>FlowiseAI, a low-code platform for building AI applications, is vulnerable to a high-severity credential data leak. Versions 3.1.1 and earlier fail to properly sanitize API responses when fetching credentials using a <code>credentialName</code> filter. This oversight exposes the <code>encryptedData</code> field, which should be omitted to protect sensitive information. An authenticated attacker can exploit this vulnerability to extract encrypted API keys, passwords, and tokens used to access services like OpenAI and AWS. Successful exploitation, coupled with unauthorized access to the <code>~/.flowise/encryption.key</code> file, allows for complete credential theft, potentially compromising integrated services and sensitive data. This vulnerability was published on May 14, 2026.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains authenticated access to a FlowiseAI instance.</li>
<li>The attacker crafts an API request to the <code>/api/v1/credentials</code> endpoint.</li>
<li>The request includes the <code>credentialName</code> parameter to filter the credentials being fetched, such as <code>credentialName=openAIApi</code>.</li>
<li>The FlowiseAI server processes the request via <code>packages/server/src/services/credentials/index.ts</code>.</li>
<li>Due to a flaw in the code at lines 62-63 and 70-71, the <code>encryptedData</code> field is not stripped from the API response.</li>
<li>The server returns the API response containing the <code>encryptedData</code> field, which includes AES-encrypted credentials.</li>
<li>If the attacker gains access to the <code>~/.flowise/encryption.key</code> file (often written with default permissions), they can decrypt the <code>encryptedData</code>.</li>
<li>The attacker obtains the plaintext credentials, enabling them to compromise integrated services and data.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows authenticated users to steal encrypted credential data from FlowiseAI instances. If the attacker also gains access to the encryption key, this leads to full credential theft, potentially compromising integrated services like OpenAI and AWS. The number of victims is dependent on the number of vulnerable FlowiseAI instances exposed to authenticated attackers. If successful, the attacker could gain unauthorized access to critical cloud services and sensitive data, leading to significant financial and reputational damage.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Detect FlowiseAI Credential API Leak</code> to identify requests that could be used to exploit this vulnerability by monitoring webserver logs for requests to the <code>/api/v1/credentials</code> endpoint with the <code>credentialName</code> parameter present in the URL.</li>
<li>Upgrade FlowiseAI to a version greater than 3.1.1 to patch the vulnerability as per the information in the advisory.</li>
<li>Monitor file access events for unauthorized access to the <code>~/.flowise/encryption.key</code> file using the <code>Detect FlowiseAI Encryption Key Access</code> Sigma rule to prevent credential decryption after exfiltration.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>credential-access</category><category>data-leak</category><category>web-application</category></item><item><title>FlowiseAI Authenticated Remote Code Execution via NodeVM Sandbox Escape</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowiseai-rce/</link><pubDate>Thu, 14 May 2026 14:59:44 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowiseai-rce/</guid><description>FlowiseAI is vulnerable to authenticated remote code execution (RCE) due to a missing route-level authorization in the `/api/v1/node-custom-function` endpoint, allowing any authenticated user to execute arbitrary JavaScript and escape the NodeVM sandbox to run system commands.</description><content:encoded><![CDATA[<p>FlowiseAI, a low-code platform for building AI orchestration flows, is vulnerable to authenticated remote code execution (RCE) affecting versions 3.1.1 and earlier. The vulnerability stems from a missing authorization check on the <code>/api/v1/node-custom-function</code> endpoint, enabling any authenticated user or API key holder to submit malicious JavaScript code to the <code>Custom JS Function</code> node. When the <code>E2B_APIKEY</code> environment variable is not configured, the platform falls back to a <code>NodeVM</code> sandbox. Attackers can escape this sandbox, gain access to the host&rsquo;s <code>process</code> object, and execute arbitrary system commands. This allows attackers to compromise the Flowise server, potentially leading to data breaches, service disruption, or further lateral movement within the network. Most self-hosted instances are affected because the NodeVM sandbox is enabled by default when <code>E2B_APIKEY</code> is not explicitly set.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker authenticates to the FlowiseAI application using valid credentials or a valid API key.</li>
<li>The attacker crafts a malicious JavaScript payload designed to escape the NodeVM sandbox.</li>
<li>The attacker sends an HTTP POST request to the <code>/api/v1/node-custom-function</code> endpoint, including the malicious JavaScript code in the <code>javascriptFunction</code> parameter within the request body.</li>
<li>The server, lacking proper authorization checks, executes the attacker-supplied JavaScript code within the Custom JS Function node.</li>
<li>The malicious JavaScript exploits an exception path within the NodeVM to escape the sandbox, gaining access to the host&rsquo;s <code>process</code> object and <code>child_process</code> module.</li>
<li>The attacker uses the <code>child_process</code> module to execute arbitrary system commands on the Flowise server. For example, <code>cp.execSync('id').toString().trim()</code> to get the user ID.</li>
<li>The attacker retrieves the output of the executed command and potentially uses it to gather sensitive information or further compromise the system.</li>
<li>The attacker leverages the compromised server for lateral movement, data exfiltration, or other malicious activities.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows any authenticated Flowise user to execute arbitrary commands on the Flowise server. This can lead to a full compromise of the server, including the ability to read environment variables and secrets, access the filesystem, and make outbound network requests. The default configuration, which relies on the vulnerable NodeVM sandbox when <code>E2B_APIKEY</code> is not configured, increases the attack surface, as the majority of self-hosted Flowise instances are likely affected. A successful attack can result in data breaches, service disruption, and further exploitation of the compromised environment.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the &ldquo;FlowiseAI NodeVM Sandbox Escape Attempt&rdquo; Sigma rule to detect attempts to exploit this vulnerability by identifying the use of the <code>Error</code> object and constructor chain manipulation within the <code>Custom JS Function</code> node.</li>
<li>Deploy the &ldquo;FlowiseAI Custom Function RCE via API&rdquo; Sigma rule to detect HTTP requests to the <code>/api/v1/node-custom-function</code> endpoint with suspicious JavaScript payloads containing potentially malicious code execution patterns.</li>
<li>Immediately apply the recommended remediation steps: add explicit permission gating to <code>/api/v1/node-custom-function</code>, fail closed if <code>E2B_APIKEY</code> is absent, and restrict this endpoint from generic API key access.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>rce</category><category>sandbox-escape</category><category>nodevm</category></item><item><title>FlowiseAI Chatflow Update Endpoint Mass Assignment Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowiseai-chatflow-mass-assignment/</link><pubDate>Thu, 14 May 2026 14:55:39 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowiseai-chatflow-mass-assignment/</guid><description>A mass assignment vulnerability exists in FlowiseAI's chatflow update endpoint (CVE-2026-42863), allowing authenticated users to modify server-controlled properties like `deployed`, `isPublic`, and `workspaceId` due to missing server-side validation, leading to cross-workspace resource reassignment and unauthorized modification of deployment and visibility settings.</description><content:encoded><![CDATA[<p>A mass assignment vulnerability has been identified in FlowiseAI versions 3.1.1 and earlier. The vulnerability resides in the chatflow update endpoint, which lacks proper server-side validation and authorization checks. This allows authenticated users to manipulate server-controlled properties of chatflow objects, such as <code>deployed</code>, <code>isPublic</code>, and <code>workspaceId</code>, by including them in the request body. By exploiting this flaw, an attacker can reassign chatflows to different workspaces, modify deployment settings, and alter visibility settings, potentially leading to unauthorized access and control over resources in multi-tenant environments. This vulnerability is identified as CVE-2026-42863.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker authenticates to the FlowiseAI interface with valid credentials.</li>
<li>The attacker captures a legitimate request used to update a chatflow object via the <code>PUT /api/v1/chatflows/{chatflowId}</code> endpoint.</li>
<li>The attacker modifies the captured request body to include server-controlled fields such as <code>deployed</code>, <code>isPublic</code>, and <code>workspaceId</code>.</li>
<li>The attacker sets the <code>workspaceId</code> to the ID of a workspace controlled by the attacker.</li>
<li>The attacker sends the crafted request to the <code>/api/v1/chatflows/{chatflowId}</code> endpoint.</li>
<li>The FlowiseAI server accepts the modified request and updates the chatflow object in the database without proper validation.</li>
<li>The chatflow is now reassigned to the attacker&rsquo;s workspace, granting the attacker unauthorized access.</li>
<li>The attacker can further modify the chatflow, change its visibility, or alter its deployment status.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The mass assignment vulnerability in FlowiseAI allows authenticated users to manipulate server-controlled attributes of chatflows. This can result in unauthorized modification of chatflow visibility, deployment state changes, and cross-workspace reassignment of chatflows. In multi-tenant environments, this vulnerability breaks tenant isolation boundaries, enabling attackers to move chatflows between workspaces without authorization. Successful exploitation can lead to cross-workspace workflow takeover, unauthorized exposure of private workflows, and manipulation of deployed agent workflows, potentially affecting all FlowiseAI installations with versions 3.1.1 or lower.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &ldquo;Detect FlowiseAI Chatflow Mass Assignment Attempt via API&rdquo; to detect attempts to modify restricted fields via the chatflow update API endpoint.</li>
<li>Apply input validation to the <code>PUT /api/v1/chatflows/{chatflowId}</code> endpoint to prevent modification of <code>deployed</code>, <code>isPublic</code>, <code>workspaceId</code>, <code>createdDate</code>, <code>updatedDate</code>, <code>category</code>, and <code>type</code> parameters, mitigating CVE-2026-42863.</li>
<li>Upgrade FlowiseAI to a patched version that addresses the mass assignment vulnerability to prevent unauthorized modification of chatflow attributes, protecting against CVE-2026-42863.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>mass-assignment</category><category>privilege-escalation</category><category>cross-workspace</category><category>flowiseai</category></item><item><title>FlowiseAI Exposes Basic Auth Credentials via API</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowiseai-basic-auth/</link><pubDate>Thu, 14 May 2026 14:55:26 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowiseai-basic-auth/</guid><description>FlowiseAI exposes a basic authentication endpoint without rate limiting, allowing attackers to brute-force credentials and gain unauthorized access to the application.</description><content:encoded><![CDATA[<p>FlowiseAI, a low-code platform for building AI applications, contains a vulnerability in its basic authentication mechanism. Specifically, the <code>checkBasicAuth</code> endpoint validates credentials in plaintext without rate limiting, making it susceptible to brute-force attacks. The vulnerability, present in versions 3.1.1 and earlier, stems from the lack of rate limiting and the use of non-constant time comparison. The endpoint also returns distinct messages for successful and failed attempts, enabling attackers to enumerate valid usernames. Exploitation allows unauthorized access to the application&rsquo;s functionalities and data.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies the <code>checkBasicAuth</code> endpoint, typically <code>/api/v1/checkBasicAuth</code>, which is used for basic authentication.</li>
<li>The attacker crafts an HTTP POST request to the <code>checkBasicAuth</code> endpoint, including a username and password in the request body.</li>
<li>The server receives the request and retrieves the username and password from the request body.</li>
<li>The server compares the provided username and password directly with the values stored in the <code>FLOWISE_USERNAME</code> and <code>FLOWISE_PASSWORD</code> environment variables using the JavaScript <code>===</code> operator.</li>
<li>If the credentials match, the server responds with a JSON message indicating &ldquo;Authentication successful&rdquo;.</li>
<li>If the credentials do not match, the server responds with a different JSON message indicating &ldquo;Authentication failed&rdquo;. This allows enumeration.</li>
<li>The attacker iteratively sends multiple requests with different username and password combinations, exploiting the lack of rate limiting to brute-force the credentials.</li>
<li>Upon successful authentication, the attacker gains unauthorized access to the FlowiseAI application and its resources.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows attackers to bypass authentication and gain unauthorized access to FlowiseAI applications. This can lead to data breaches, unauthorized modification of AI workflows, and potential compromise of sensitive information processed by the AI models. Given the lack of rate limiting, even relatively weak passwords can be compromised through brute-force attacks. This issue affects FlowiseAI installations up to version 3.1.1.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Implement rate limiting on the <code>/api/v1/checkBasicAuth</code> endpoint to prevent brute-force attacks.</li>
<li>Deploy the Sigma rule &ldquo;Detect FlowiseAI Basic Auth Brute Force Attempts&rdquo; to identify suspicious activity on the vulnerable endpoint.</li>
<li>Modify the authentication logic to use constant-time comparison functions to mitigate timing attacks, as described in the overview section of this brief.</li>
<li>Change the application to return generic error messages to prevent username enumeration, as described in the overview section of this brief.</li>
<li>Upgrade FlowiseAI to a version beyond 3.1.1 where this vulnerability is resolved.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>credential-access</category><category>brute-force</category><category>flowiseai</category></item><item><title>FlowiseAI Mass Assignment Vulnerability in Variable Update Endpoint</title><link>https://feed.craftedsignal.io/briefs/2026-05-flowise-mass-assignment/</link><pubDate>Thu, 14 May 2026 14:53:24 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-flowise-mass-assignment/</guid><description>FlowiseAI versions 3.1.1 and earlier contain a mass assignment vulnerability in the variable update endpoint allowing authenticated users to modify server-controlled properties like workspaceId, createdDate, and updatedDate, potentially breaking tenant isolation in multi-workspace environments (CVE-2026-42861).</description><content:encoded><![CDATA[<p>FlowiseAI, a low-code platform for building AI workflows, is vulnerable to a mass assignment flaw (CVE-2026-42861) affecting versions 3.1.1 and earlier.  The vulnerability resides in the <code>/api/v1/variables/{variableId}</code> endpoint, which is used for updating variable resources. Due to missing server-side validation, an authenticated attacker can modify critical, server-controlled properties such as <code>workspaceId</code>, <code>createdDate</code>, and <code>updatedDate</code>. This can lead to unauthorized cross-workspace reassignment of variables, potentially compromising tenant isolation in multi-tenant environments. The issue was reported in May 2026, and defenders need to implement mitigations to prevent unauthorized data access and manipulation.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker authenticates to FlowiseAI with valid user credentials.</li>
<li>Attacker identifies a target variable ID within the application they wish to manipulate.</li>
<li>Attacker crafts a malicious PUT request to <code>/api/v1/variables/{variableId}</code>.</li>
<li>The request body includes the <code>workspaceId</code> field, setting it to the ID of a different workspace the attacker wishes to access.</li>
<li>The request body may also include modified <code>createdDate</code> and <code>updatedDate</code> values for the variable.</li>
<li>The FlowiseAI server, lacking proper validation, accepts the attacker-supplied <code>workspaceId</code>, <code>createdDate</code>, and <code>updatedDate</code> values.</li>
<li>The server updates the variable in the database with the attacker-controlled values, effectively reassigning the variable to the attacker&rsquo;s chosen workspace.</li>
<li>The attacker can now access and potentially manipulate resources within the targeted workspace using the reassigned variable.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows authenticated users to manipulate internal variable attributes, potentially leading to cross-workspace reassignment of variables, unauthorized modification of metadata, and tenant isolation bypass in multi-workspace deployments. This can allow an attacker to move variables between workspaces without proper authorization. The vulnerability affects FlowiseAI installations version 3.1.1 and earlier.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply input validation and authorization checks on the <code>/api/v1/variables/{variableId}</code> endpoint to prevent modification of server-controlled properties like <code>workspaceId</code>, <code>createdDate</code>, and <code>updatedDate</code> as described in CVE-2026-42861.</li>
<li>Monitor PUT requests to the <code>/api/v1/variables/{variableId}</code> endpoint for attempts to modify the <code>workspaceId</code> parameter to detect potential exploitation attempts. Use the detection rule <code>Detect FlowiseAI Mass Assignment in Variable Update</code> to identify anomalous requests.</li>
<li>Implement workspace access controls and verify that users can only access variables within their assigned workspace, regardless of the <code>workspaceId</code> attribute.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>mass assignment</category><category>tenant isolation</category><category>web application</category></item></channel></rss>