CVE-2026-39321
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-39321 is a login timing side-channel vulnerability in Parse Server (an open-source Node.js backend) that allows unauthenticated attackers to enumerate valid usernames or email addresses. The flaw affects Parse Server versions prior to 8.6.74 and versions 9.0.0 through 9.8.0-alpha.5. It was discovered and reported by mtrezza, with fixes published on April 5, 2026, and the advisory formally published on April 7–8, 2026. The vulnerability carries a CVSS v3.1 base score of 3.7 (Low) and a CVSS v4.0 base score of 6.3 (Medium) (Github Advisory, Parse Server Advisory).

Technical details

The root cause is classified as CWE-208 (Observable Timing Discrepancy). When a login request is submitted, the server's response time differs measurably based on whether the username or email exists in the database: if no user is found, the server returns an error immediately, but if a user exists with an incorrect password, a bcrypt hash comparison is performed first, introducing significant latency. This timing oracle is exploitable remotely without any authentication or user interaction, though high attack complexity and specific deployment conditions are required. The fix normalizes response timing by performing a dummy bcrypt comparison even when no user is found, and also for OAuth-only accounts lacking a stored password (Parse Server Advisory, PR #10398).

Impact

Successful exploitation allows an unauthenticated attacker to determine which usernames or email addresses are registered in the Parse Server database, effectively enabling user enumeration. This information reduces friction for follow-on attacks such as brute-force password guessing or credential stuffing, as attackers can focus efforts exclusively on confirmed valid accounts. There is no direct integrity or availability impact; the confidentiality impact is limited to the disclosure of account existence (Github Advisory, Parse Server Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the time of disclosure (Github Advisory). The EPSS score is approximately 0.03% (9th percentile), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported.

Exploitation steps

  1. Reconnaissance: Identify internet-facing Parse Server instances (e.g., via Shodan or Censys) running versions prior to 8.6.74 or between 9.0.0 and 9.8.0-alpha.5.
  2. Baseline timing measurement: Send a login request to the Parse Server login endpoint (typically POST /1/login) with a username known not to exist, and record the response time. This establishes the baseline "user not found" latency (near-immediate response).
  3. Enumerate usernames: Systematically submit login requests with candidate usernames (e.g., from a wordlist or common username patterns) and a fixed incorrect password, measuring response times for each.
  4. Identify valid accounts: Requests that return with noticeably higher latency (due to bcrypt comparison being performed) indicate that the submitted username exists in the database, even though the password is wrong.
  5. Leverage enumerated accounts: Use the confirmed valid usernames as targets for credential stuffing or brute-force attacks to attempt account takeover (Parse Server Advisory).

Indicators of compromise

  • Network: High volume of POST /1/login requests from a single IP or small IP range, especially with varying usernames but a consistent (incorrect) password; requests with systematically varied usernames suggesting automated enumeration.
  • Logs: Parse Server access logs showing repeated failed login attempts across many different usernames in rapid succession; patterns of requests with response time clustering (some fast, some slow) suggesting timing-based probing.
  • Behavioral: Unusual spike in authentication failures from a single source; login attempts using common username wordlists or email address patterns.

Mitigation and workarounds

Upgrade Parse Server immediately to version 8.6.74 (for the 8.x LTS branch) or 9.8.0-alpha.6 or later (for the 9.x branch); the stable 9.8.0 release also includes the fix (PR #10398, PR #10399). As a temporary workaround for those unable to upgrade immediately, configure rate limiting on the login endpoint to slow automated enumeration — note this reduces throughput but does not eliminate the timing signal for individual requests. Additional hardening measures include implementing account lockout policies and CAPTCHA challenges after multiple failed login attempts (Parse Server Advisory).

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-77415CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NoYesAug 21, 2026
CVE-2026-77414CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NoYesAug 21, 2026
CVE-2026-77413CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NoYesAug 21, 2026
CVE-2026-63421HIGH7.5
  • JavaScript logoJavaScript
  • @keystone-6/core
NoYesAug 21, 2026
CVE-2026-53509MEDIUM5.7
  • JavaScript logoJavaScript
  • @aborruso/ckan-mcp-server
NoYesAug 21, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management