CVE-2026-28288
Received Received - Intake
User Enumeration Vulnerability in Dify API Before

Publication date: 2026-02-27

Last updated on: 2026-03-09

Assigner: GitHub, Inc.

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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-02-27
Last Modified
2026-03-09
Generated
2026-05-07
AI Q&A
2026-02-27
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
dify dify to 1.9.0 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-204 The product provides different responses to incoming requests in a way that reveals internal state information to an unauthorized actor outside of the intended control sphere.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2026-28288 is a user enumeration vulnerability in the Dify platform versions up to 1.8.1. The vulnerability occurs because the Dify API returns different responses when login attempts are made with existing versus non-existent email addresses.

Specifically, when a POST request is sent to the /console/api/login endpoint with a valid email but incorrect password, the response differs from the response when an invalid email and password are used. This difference allows an attacker to determine which email addresses are registered with Dify.

This behavior is classified under CWE-204 (Observable Response Discrepancy), where the system reveals internal state information through differing responses to unauthorized requests.

The vulnerability was fixed in version 1.9.0 by standardizing authentication error messages to prevent attackers from distinguishing between valid and invalid accounts.


How can this vulnerability impact me? :

[{'type': 'paragraph', 'content': 'This vulnerability allows attackers to enumerate valid email addresses registered with the Dify platform by analyzing the differences in API responses.'}, {'type': 'paragraph', 'content': 'With knowledge of valid email addresses, attackers can launch targeted phishing campaigns or attempt brute-force attacks on user accounts.'}, {'type': 'paragraph', 'content': "However, the overall risk is somewhat mitigated by Dify's brute-force protection mechanisms."}] [1, 2]


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

[{'type': 'paragraph', 'content': 'This vulnerability can be detected by observing the responses from the Dify API when attempting to log in with different email addresses. Specifically, sending POST requests to the `/console/api/login` endpoint with various email addresses and passwords will yield distinguishable responses if the email exists or not.'}, {'type': 'paragraph', 'content': 'For example, you can use the following curl commands to test for user enumeration:'}, {'type': 'list_item', 'content': 'curl -X POST https://<dify-server>/console/api/login -d \'{"email":"[email protected]", "password":"wrongpassword"}\' -H \'Content-Type: application/json\''}, {'type': 'list_item', 'content': 'curl -X POST https://<dify-server>/console/api/login -d \'{"email":"[email protected]", "password":"wrongpassword"}\' -H \'Content-Type: application/json\''}, {'type': 'paragraph', 'content': 'If the responses differ (e.g., one indicates "wrong password" and the other "user not found"), it confirms the presence of the vulnerability allowing user enumeration.'}] [1, 2]


What immediate steps should I take to mitigate this vulnerability?

[{'type': 'paragraph', 'content': 'The immediate mitigation step is to upgrade the Dify platform to version 1.9.0 or later, where this vulnerability has been fixed.'}, {'type': 'paragraph', 'content': 'The fix involves standardizing authentication error messages across login, registration, and password reset endpoints to prevent user enumeration. This includes:'}, {'type': 'list_item', 'content': 'Returning a generic error message such as "Invalid email or password" for all login attempts regardless of account existence.'}, {'type': 'list_item', 'content': 'Ensuring password reset requests always return a success message to avoid disclosing account existence.'}, {'type': 'list_item', 'content': 'Adjusting email verification processes to prevent leaking information about registered accounts.'}, {'type': 'paragraph', 'content': 'Additionally, verify that brute-force protection mechanisms are enabled to reduce the risk of brute-force attacks exploiting this vulnerability.'}] [1, 2]


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart