Parse Server has a login timing side-channel reveals user existence
GHSA-mmpq-5hcv-hf2v · BIT-parse-2026-39321 · CVE-2026-39321
Published · Modified
AI SAST
Find this class of vulnerability in your own code
Corgea's AI-native static analysis detects vulnerabilities like this one across your repositories, ranks them by exploitability, and returns review-ready fixes.
Description
Impact
The login endpoint response time differs measurably depending on whether the submitted username or email exists in the database. When a user is not found, the server responds immediately. When a user exists but the password is wrong, a bcrypt comparison runs first, adding significant latency. This timing difference allows an unauthenticated attacker to enumerate valid usernames.
Patches
A dummy bcrypt comparison is now performed when no user is found, normalizing response timing regardless of user existence. Additionally, accounts without a stored password (e.g. OAuth-only) now also run a dummy comparison to prevent the same timing oracle.
Workarounds
Configure rate limiting on the login endpoint to slow automated enumeration. This reduces throughput but does not eliminate the timing signal for individual requests.
References
- WEB https://github.com/parse-community/parse-server/security/advisories/GHSA-mmpq-5hcv-hf2v
- ADVISORY https://nvd.nist.gov/vuln/detail/CVE-2026-39321
- WEB https://github.com/parse-community/parse-server/pull/10398
- WEB https://github.com/parse-community/parse-server/pull/10399
- PACKAGE https://github.com/parse-community/parse-server
Ready to move
Start Securing
Free, no credit card | First findings in minutes