id: CVE-2026-28288

info:
  name: Dify User Enumeration via Observable Response Discrepancy
  author: DhiyaneshDk
  severity: medium
  description: |
    Dify is an open-source LLM app development platform. Prior to 1.9.0, responses from the Dify API to existing and non-existent accounts differ, allowing an attacker to enumerate email addresses registered with Dify. Version 1.9.0 fixes the issue.
  impact: |
    Attackers can enumerate registered email addresses, potentially aiding further targeted attacks or phishing.
  remediation: |
    Update to version 1.9.0 or later.
  reference:
    - https://github.com/langgenius/dify/security/advisories/GHSA-9qpf-wcv3-w3qx
    - https://github.com/langgenius/dify/issues/24323
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    cvss-score: 5.3
    cve-id: CVE-2026-28288
    epss-score: 0.00635
    epss-percentile: 0.46966
    cwe-id: CWE-204
  metadata:
    verified: true
    max-request: 1
  tags: cve,cve2026,dify,user-enum,info-leak

http:
  - raw:
      - |
        POST /console/api/login HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json

        {"email":"nonexistent{{randstr}}@example.com","password":"{{randstr}}","language":"en-US","remember_me":true}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "Account not found"

      - type: word
        part: content_type
        words:
          - "application/json"

      - type: status
        status:
          - 400
# digest: 4a0a0047304502203f64cf285905da5cc12672c15aa67fe90b2db185e40c6754f8c592496d10930f022100c28acd2016f03c08e0ffeec74d06fa6be61db2f1723c62b369b39db77ba4742f:922c64590222798bb761d5b6d8e72950