Safeguard
Vulnerability Analysis•

CVE-2026-91934: High Flowise SQL Database Chain Arbitrary File Write

CVE-2026-91934: Flowise before 3.1.4 does not validate SQLite paths in the SQL Database Chain node, allowing file writes. High (8.8). Upgrade to 3.1.4.

Safeguard Security Team
4 min read

CVE-2026-91934 is a path traversal flaw in the SQL Database Chain node of Flowise before 3.1.4. An authenticated user can make the server write files to locations of their choosing, which can lead to code execution. NVD scores it High (8.8). Upgrade to Flowise 3.1.4.

What's affected

The GitHub advisory lists the npm package flowise-components up to and including 3.1.3, with 3.1.4 as the fix, and VulnCheck lists Flowise itself as affected before 3.1.4. The NVD record says all versions before 3.1.4. The advisory text is a disclosure from the security firm elttam, written against Flowise 3.1.2.

The weakness is CWE-22, improper limitation of a pathname to a restricted directory. The vector is CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. VulnCheck lists a CVSS v4 score of 8.7 and calls it high, which matches the NVD level.

The issue sits in the SQL Database Chain node, which lets a flow author choose a database type. For SQLite the node accepts a file path typed in by the user and does not validate it.

How to check if you're exposed

Check your Flowise and flowise-components versions:

npm ls flowise flowise-components

Then look at who can build or edit flows. The attacker in this advisory needs an account that can configure the node, so the exposure depends on how many people hold that permission and how much you trust them.

On disk, look for unexpected database files or other new files in system directories and in any directory the web server serves. Treat anything unexplained as a reason to investigate the host, not just upgrade.

Paste a lockfile or SBOM into the free in-browser dependency scan to see whether this package is in your tree, including as a transitive dependency. Safeguard's reachability analysis can then show whether your code actually calls the affected path, which helps you order the work.

What to do now

  1. Upgrade to Flowise 3.1.4 or later, including the flowise-components package.
  2. Reduce the number of accounts that can create or edit flows to those who need it.
  3. Run Flowise as an unprivileged user with write access only to its own data directory, so a path escape has less to reach.
  4. Check the host for files written outside the data directory since you deployed the affected version.

Why it matters

The advisory explains that Flowise builds database agents on top of LangChain's SQL chain. Letting users point the node at any SQLite file path is convenient, but a path that is not confined to a safe directory lets a user write a database file anywhere the service account can write. The advisory says this can place files in system directories or the web root, from which commands run or stored cross-site scripting follows.

That chain of effects is why a flaw that looks like a file path bug carries a high score. No source we read says the issue is exploited in the wild, and the KEV flag in the record is false.

Try it yourself

Not every finding in your tree is equally urgent. This demo walks through how exploitability signals change the order in which you patch.

Click through it at your own pace, or open it full screen.

Quick check

Is a login required?

Yes. The record's vector shows low privileges required, so the attacker needs an account that can use the node.

Does least privilege help?

It limits the damage. The advisory describes writes to any directory the service account can reach, so a tightly scoped account reduces what an escape can touch. It is not a substitute for upgrading.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.