GHSA-mmpq-5hcv-hf2v
Parse Server has a login timing side-channel reveals user existence
En bref
- Publiée
- Mise à jour
- CVE
- CVE-2026-39321
- Alias
- BIT-parse-2026-39321
- CVSS_V3
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
- CVSS_V4
- CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
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.
Paquets affectés
| Paquet | Versions |
|---|---|
| npm · parse-server | introduced 9.0.0, fixed 9.8.0-alpha.6 |
| npm · parse-server | introduced 0, fixed 8.6.74 |
Références
- https://github.com/parse-community/parse-server/security/advisories/GHSA-mmpq-5hcv-hf2v WEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-39321 ADVISORY
- https://github.com/parse-community/parse-server/pull/10398 WEB
- https://github.com/parse-community/parse-server/pull/10399 WEB
- https://github.com/parse-community/parse-server PACKAGE
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — GitHub Advisory Database |