Parse Server has a login timing side-channel reveals user existence
Moderate severity
GitHub Reviewed
Published
Apr 5, 2026
in
parse-community/parse-server
•
Updated Apr 8, 2026
Package
Affected versions
>= 9.0.0, < 9.8.0-alpha.6
< 8.6.74
Patched versions
9.8.0-alpha.6
8.6.74
Description
Published by the National Vulnerability Database
Apr 7, 2026
Published to the GitHub Advisory Database
Apr 8, 2026
Reviewed
Apr 8, 2026
Last updated
Apr 8, 2026
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