MEDIUM 5.0

CVE-2026-58057: Flowise Windows Environment Variable Bypass Leading to Code Execution

Flowise, a visual AI workflow platform, contains a vulnerability in how it validates environment variables for custom integrations on Windows systems. Attackers with legitimate access to configure workflow nodes can bypass security restrictions by using a lowercase variant of a blocked environment variable, allowing them to execute arbitrary code on the Flowise server. This requires authentication and administrator-level access to the workflow configuration interface.

Source data · NVD / CISA · public domain

CVSS
3.1 · 5.0 MEDIUM · CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Weaknesses (CWE)
CWE-178
Affected products
1 configuration(s)
Published / Modified
2026-06-28 / 2026-07-06

NVD description (verbatim)

Flowise before 3.1.3 validates Custom MCP stdio environment variables against a denylist using a case-sensitive comparison, so on Windows, where environment names are case-insensitive, supplying 'node_options' bypasses the NODE_OPTIONS denylist entry. An authenticated user who can configure a Custom MCP node can thereby inject NODE_OPTIONS --require and execute arbitrary code in the Flowise server context.

3 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-58057 is a case-sensitivity bypass in Flowise versions prior to 3.1.3 affecting Windows deployments. The vulnerability exists in the Custom MCP (Model Context Protocol) stdio environment variable validation logic, which uses case-sensitive comparison against a denylist that includes 'NODE_OPTIONS'. On Windows, where environment variable names are inherently case-insensitive, an authenticated user can supply 'node_options' (lowercase) to circumvent the restriction. This allows injection of Node.js startup flags such as --require, enabling arbitrary code execution within the Flowise server process. The underlying issue is CWE-178 (Improper Handling of Case Sensitivity), stemming from a cross-platform assumption that fails on case-insensitive filesystems.

Business impact

An internal user or contractor with workflow configuration permissions can compromise the Flowise server and any systems it connects to. This is particularly concerning in organizations using Flowise for production AI automation, as code execution occurs with server privileges and can lead to unauthorized access to connected data sources, APIs, and downstream systems. The impact is moderated by the requirement for prior authentication, but the attack surface includes any user granted workflow-building capabilities.

Affected systems

Flowise versions before 3.1.3 running on Windows are affected. The vulnerability does not impact Linux or macOS deployments, as those operating systems enforce case-sensitive environment variable handling, which maintains the denylist's effectiveness. Organizations using Flowise on Windows for AI workflow automation should prioritize patching.

Exploitability

Exploitability requires valid credentials and access to the Custom MCP node configuration interface within Flowise. No complex setup or user interaction is needed beyond configuration permissions. The attack is straightforward once the bypass is understood: a user simply enters 'node_options' instead of 'NODE_OPTIONS' in the environment variable field, then appends a --require flag pointing to arbitrary code. The CVSS score of 5.0 reflects this moderate difficulty (requires authentication and environment-specific conditions on Windows), though organizations should not underestimate the insider risk if workforce access is not tightly controlled.

Remediation

Upgrade Flowise to version 3.1.3 or later, which implements case-insensitive denylist comparison across all platforms. Verify the patch against the official vendor advisory before deployment. As an interim measure on Windows systems, restrict workflow configuration permissions to highly trusted users and monitor Node process creation for unexpected --require or --load-extra-modules flags.

Patch guidance

Apply Flowise 3.1.3 or newer. The patch corrects the validation logic to normalize environment variable names to uppercase (or use case-insensitive comparison) before checking against the denylist. After patching, review existing workflow configurations to identify any that may have exploited this bypass. Test in a non-production environment first to ensure compatibility with custom integrations.

Detection guidance

Monitor Flowise server logs and Node.js process creation events for unusual patterns: (1) NODE_OPTIONS or node_options environment variables being set via Flowise configuration; (2) node processes spawned with --require, --load-extra-modules, or other code-loading flags; (3) Custom MCP nodes with environment variables containing paths to external scripts or suspicious patterns. On Windows, enable detailed process auditing to capture environment variable injection attempts. Check Flowise audit logs for modifications to Custom MCP node configurations by users with non-administrative roles.

Why prioritize this

Although the CVSS is 5.0 (MEDIUM), this vulnerability merits prompt attention in Windows-based deployments because it combines authenticated code execution with a plausible insider threat vector. Organizations should prioritize based on: (1) whether Flowise runs on Windows in your infrastructure; (2) the number of users with workflow configuration access; (3) the sensitivity of systems Flowise integrates with. Those using Flowise in development or sandboxed environments can defer slightly longer; production instances handling sensitive data should patch in the next maintenance window.

Risk score, explained

The CVSS 3.1 score of 5.0 (MEDIUM) reflects the attack vector (network-accessible), required privilege level (low—authenticated user), and lack of user interaction. The score is not elevated to HIGH because exploitation requires prior authentication and is limited to the Flowise server context (not spreading laterally by default). However, the actual risk in your environment depends on how many staff can configure workflows and what data Flowise accesses.

Frequently asked questions

Does this affect Flowise on Linux or macOS?

No. Linux and macOS enforce case-sensitive environment variable names, so the denylist correctly blocks NODE_OPTIONS regardless of case. This vulnerability is specific to Windows systems where environment variable names are case-insensitive.

What does --require do, and why is it dangerous?

The --require flag tells Node.js to load and execute a module before the application starts. An attacker can point it to a malicious script on the filesystem or a network location, achieving code execution with the privileges of the Flowise process. This is a well-known Node.js attack vector and is why NODE_OPTIONS is typically restricted.

Can Flowise be safely used on Windows before patching?

Yes, if you restrict Custom MCP node configuration to a very small group of trusted administrators and monitor process creation carefully. However, patching is the only reliable mitigation. Do not assume users will follow guidelines if configuration access is granted.

Does the vulnerability require the attacker to have shell access?

No. The attacker only needs to be a Flowise user with permissions to create or edit a Custom MCP node. They configure the malicious environment variable through the Flowise UI and trigger the node to run—no shell access needed.

This analysis is based on the CVE record published 2026-06-28 and modified 2026-07-06. Verify all patch version numbers, affected product versions, and remediation steps against the official Flowise security advisory and vendor documentation before deploying updates. This vulnerability is not on the CISA Known Exploited Vulnerabilities (KEV) catalog as of the publication date. SEC.co makes no warranty regarding the completeness or applicability of this analysis to your specific environment. Source: NVD (public-domain), retrieved 2026-08-06. Analysis generated by SEC.co (claude-haiku-4-5).