CVE-2026-73485: Flowise: RCE via Airtable Agent pyodide sandbox bypass
CRITICALFlowise before 3.1.3 lets an unauthenticated attacker execute arbitrary Python on the host by sending a crafted prompt to any chatflow that uses the Airtable Agent node, bypassing the pythonCodeValidator blocklist with simple obfuscation and landing in an unsandboxed pyodide runtime with full OS access. This isn't sandbox-adjacent risk — pyodide here has no isolation at all, so a single crafted message to a public-facing chatflow endpoint is a direct path to host compromise, credential theft, and lateral movement, with no authentication required. Flowise carries 156 other tracked CVEs, so this sits in a package with a demonstrated pattern of weak input validation, and CISA's SSVC decision (TRACK) plus a rated critical severity signal this is worth acting on now even though EPSS (0.28%, ~79th percentile) and KEV status show no evidence of active mass exploitation yet. There is no public exploit or Nuclei template in the wild today, but the blocklist-bypass technique is trivial to reproduce once the advisory is public, so treat the disclosure itself as the trigger. Patch to Flowise 3.1.3+ immediately; if you can't patch now, disable or remove the Airtable Agent node from any internet-facing chatflow and put the Flowise admin/chatflow endpoints behind authentication or network controls until you can.
What is the risk?
Critical. The vulnerability requires no authentication, no user interaction beyond an attacker sending a message, and results in unrestricted code execution on the host OS — the maximum practical impact for a web-reachable component. The only mitigating factor is that exploitation requires attacker knowledge of the specific obfuscation techniques needed to bypass the blocklist, and there is currently no public PoC, Nuclei template, or KEV listing, which keeps EPSS low. That said, blocklist-based input filters are a weak control (well-documented as bypassable), and once the technique circulates, exploitation becomes trivial and highly scalable against any internet-facing Flowise instance using this node.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Flowise | npm | — | No patch |
Do you use Flowise? You're affected.
How severe is it?
What should I do?
1 step1) Upgrade to Flowise 3.1.3 or later immediately — this is the primary fix. 2) If immediate patching isn't possible, disable or remove the Airtable Agent node from any chatflow reachable by untrusted or public users. 3) Do not rely on the pythonCodeValidator blocklist as a security boundary going forward — it is bypassable by design; any custom-code agent node should run in a properly isolated sandbox (container, gVisor, microVM) regardless of vendor patching. 4) Restrict network exposure of Flowise chatflow/API endpoints (auth gateway, IP allowlisting, WAF rules for suspicious Python payload patterns in prompt input). 5) Detection: monitor Flowise host processes for unexpected child processes spawned from the Node.js/pyodide runtime, outbound connections not tied to configured integrations, and unusual file system writes outside the app directory. 6) Review Flowise chatflow logs for prompts containing encoded/obfuscated Python constructs (base64, char-code assembly, string concatenation tricks) as a retroactive compromise check.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-73485?
Flowise before 3.1.3 lets an unauthenticated attacker execute arbitrary Python on the host by sending a crafted prompt to any chatflow that uses the Airtable Agent node, bypassing the pythonCodeValidator blocklist with simple obfuscation and landing in an unsandboxed pyodide runtime with full OS access. This isn't sandbox-adjacent risk — pyodide here has no isolation at all, so a single crafted message to a public-facing chatflow endpoint is a direct path to host compromise, credential theft, and lateral movement, with no authentication required. Flowise carries 156 other tracked CVEs, so this sits in a package with a demonstrated pattern of weak input validation, and CISA's SSVC decision (TRACK) plus a rated critical severity signal this is worth acting on now even though EPSS (0.28%, ~79th percentile) and KEV status show no evidence of active mass exploitation yet. There is no public exploit or Nuclei template in the wild today, but the blocklist-bypass technique is trivial to reproduce once the advisory is public, so treat the disclosure itself as the trigger. Patch to Flowise 3.1.3+ immediately; if you can't patch now, disable or remove the Airtable Agent node from any internet-facing chatflow and put the Flowise admin/chatflow endpoints behind authentication or network controls until you can.
Is CVE-2026-73485 actively exploited?
No confirmed active exploitation of CVE-2026-73485 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-73485?
1) Upgrade to Flowise 3.1.3 or later immediately — this is the primary fix. 2) If immediate patching isn't possible, disable or remove the Airtable Agent node from any chatflow reachable by untrusted or public users. 3) Do not rely on the pythonCodeValidator blocklist as a security boundary going forward — it is bypassable by design; any custom-code agent node should run in a properly isolated sandbox (container, gVisor, microVM) regardless of vendor patching. 4) Restrict network exposure of Flowise chatflow/API endpoints (auth gateway, IP allowlisting, WAF rules for suspicious Python payload patterns in prompt input). 5) Detection: monitor Flowise host processes for unexpected child processes spawned from the Node.js/pyodide runtime, outbound connections not tied to configured integrations, and unusual file system writes outside the app directory. 6) Review Flowise chatflow logs for prompts containing encoded/obfuscated Python constructs (base64, char-code assembly, string concatenation tricks) as a retroactive compromise check.
What systems are affected by CVE-2026-73485?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, AI agent tool integrations, no-code/low-code AI orchestration platforms.
What is the CVSS score for CVE-2026-73485?
No CVSS score has been assigned yet.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0049Exploit Public-Facing ApplicationAML.T0050Command and Scripting InterpreterAML.T0051.000DirectAML.T0053AI Agent Tool InvocationAML.T0105Escape to HostCompliance Controls Affected
What are the technical details?
Original Advisory
Flowise before 3.1.3 contains a code injection vulnerability in the Airtable Agent node that allows unauthenticated attackers to execute arbitrary Python code by bypassing the pythonCodeValidator blocklist through obfuscation techniques. Attackers can send crafted prompts to a chatflow using the Airtable Agent node to inject malicious Python code that executes in an unsandboxed pyodide environment with full access to the host operating system.
Exploitation Scenario
An attacker discovers a public-facing Flowise chatflow (e.g., a customer support or internal-tools bot) built with the Airtable Agent node, identifiable via UI fingerprinting or Shodan-style discovery of exposed Flowise instances. The attacker crafts a chat message that embeds Python code disguised through string concatenation, character-code assembly, or other obfuscation to slip past the pythonCodeValidator blocklist. The Airtable Agent node passes this code into its pyodide execution context, which runs it with no sandboxing — the attacker's payload now executes as if it were a shell command on the host, allowing them to read environment variables and credentials, establish a reverse shell, and pivot to other systems reachable from that host, all without ever authenticating to Flowise.
Weaknesses (CWE)
CWE-94Improper Control of Generation of Code ('Code Injection')PrimaryCWE-94Improper Control of Generation of Code ('Code Injection')CWE-94 — Improper Control of Generation of Code ('Code Injection'): The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
- [Architecture and Design] Refactor your program so that you do not have to dynamically generate code.
- [Architecture and Design] Run your code in a "jail" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict which code can be executed by your product. Examples include the Unix chroot jail and AppArmor. In general, managed code may provide some protection. This may not be a feasible solution, and it only limits the impact to the operating system; the rest of your application may still be subject to compromise. Be careful to avoid CWE-243 and other weaknesses related to jails.
Source: MITRE CWE corpus.
References
Timeline
Related Vulnerabilities
CVE-2025-7133810.0Flowise: unauthenticated file write enables RCE
Same package: flowiseCVE-2025-5952810.0Flowise: Unauthenticated RCE via MCP config injection
Same package: flowiseCVE-2025-619139.9Flowise: path traversal in file tools leads to RCE
Same package: flowiseCVE-2026-409339.9Flowise: RCE via MCP stdio command injection
Same package: flowiseCVE-2026-464429.9Flowise: sandbox escape enables authenticated RCE
Same package: flowise