CVE-2025-61913

9.9 CRITICAL

📋 TL;DR

This vulnerability in Flowise allows authenticated attackers to read and write arbitrary files anywhere on the file system due to insufficient path restrictions in WriteFileTool and ReadFileTool components. This can lead to remote command execution and complete system compromise. All Flowise installations prior to version 3.0.8 with authenticated users are affected.

💻 Affected Systems

Products:
  • Flowise
Versions: All versions prior to 3.0.8
Operating Systems: All operating systems running Flowise
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated access to Flowise interface. All deployments using vulnerable versions are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system takeover via remote command execution, data exfiltration, and persistent backdoor installation.

🟠

Likely Case

Unauthorized file access leading to sensitive data exposure, configuration file modification, or privilege escalation.

🟢

If Mitigated

Limited impact if proper network segmentation and least privilege access controls are implemented.

🌐 Internet-Facing: HIGH - Internet-facing instances are directly exposed to exploitation attempts.
🏢 Internal Only: HIGH - Internal instances remain vulnerable to authenticated attackers, including compromised accounts.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is straightforward once authenticated. The vulnerability is path traversal that can be exploited via API calls.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.0.8

Vendor Advisory: https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-j44m-5v8f-gc9c

Restart Required: Yes

Instructions:

1. Backup your Flowise configuration and data. 2. Update Flowise to version 3.0.8 or later using npm: 'npm update flowise@3.0.8'. 3. Restart the Flowise service. 4. Verify the update with 'npm list flowise'.

🔧 Temporary Workarounds

Network Access Restriction

linux

Restrict network access to Flowise to trusted IP addresses only

iptables -A INPUT -p tcp --dport 3000 -s TRUSTED_IP -j ACCEPT
iptables -A INPUT -p tcp --dport 3000 -j DROP

Authentication Hardening

all

Implement strong authentication controls and monitor for suspicious user activity

🧯 If You Can't Patch

  • Isolate Flowise instance in a dedicated network segment with strict egress filtering
  • Implement application-level monitoring for file access patterns and restrict user permissions

🔍 How to Verify

Check if Vulnerable:

Check Flowise version: if version is below 3.0.8, the system is vulnerable. Review logs for unusual file access patterns.

Check Version:

npm list flowise | grep flowise

Verify Fix Applied:

Confirm Flowise version is 3.0.8 or higher using 'npm list flowise' and test that file operations are restricted to allowed directories.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file access patterns outside expected directories
  • Multiple failed authentication attempts followed by file operations
  • File write operations to system directories

Network Indicators:

  • Unusual API calls to WriteFileTool or ReadFileTool endpoints
  • Traffic patterns indicating file exfiltration

SIEM Query:

source="flowise" AND (event="file_write" OR event="file_read") AND path NOT CONTAINS "/allowed/path/"

🔗 References

📤 Share & Export