GitHub Advisoryadvisory · npm

GHSA-mmpq-5hcv-hf2v Parse Server has a login timing side-channel reveals user existence

MEDIUM Published 2026-04-08 Modified 2026-04-15 Official page ↗
Aliases
CVE-2026-39321
Ecosystem
npm
Packages
parse-server
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Weaknesses
CWE-208
Reviewed
2026-04-08

Affected packages

• npm parse-server: >= 9.0.0, < 9.8.0-alpha.6 → fixed in 9.8.0-alpha.6 • npm parse-server: < 8.6.74 → fixed in 8.6.74

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.

Related

Alias · CVE (1)

  • CVE-2026-39321 Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. vulnerability

Weakness · CWE (1)

  • CWE-208 Observable Timing Discrepancy weakness

References