CVE-2026-39381
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-39381 is an incorrect authorization vulnerability in Parse Server, an open-source Node.js backend platform, where the GET /sessions/me endpoint fails to apply the protectedFields server configuration for the _Session class. Any authenticated user can retrieve their own session's protected fields — such as session tokens or createdWith metadata — via a single HTTP request, bypassing operator-defined access controls. The vulnerability affects Parse Server versions >= 7.0.0 and < 8.6.75, and >= 9.0.0 and < 9.8.0-alpha.7. It was published on April 6–7, 2026, with patches released the same day. It carries a CVSS v4 base score of 5.3 (Medium) and a CVSS v3.1 base score of 4.3 (Medium) (Github Advisory).

Technical details

The root cause is an incorrect authorization check (CWE-863) in the handleMe function within src/Routers/SessionsRouter.js. Unlike the GET /sessions and GET /sessions/:objectId endpoints, which correctly re-fetch session data using the caller's auth context (thereby applying protectedFields and Class-Level Permissions), the GET /sessions/me handler returned session data without enforcing these restrictions. The fix refactors handleMe into a two-step async process: first, a master-key lookup validates the session token; then, a second fetch using the caller's auth context applies protectedFields and CLP before returning the response (Github Advisory, Parse Server PR #10406, Parse Server PR #10407).

Impact

Successful exploitation allows any authenticated user to read _Session fields that server operators explicitly marked as protected, which may include sensitive metadata such as createdWith (authentication method details), session tokens, or other operator-configured sensitive fields. The impact is limited to information disclosure (low confidentiality impact) with no integrity or availability consequences, and is scoped to the authenticated user's own session — not other users' sessions. While lateral movement is not directly enabled, exposure of session metadata could assist attackers in fingerprinting authentication mechanisms or crafting follow-on attacks (Github 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.028% (9th percentile), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires valid user credentials (low privileges), making it accessible to any registered user of an affected Parse Server deployment but not to unauthenticated attackers.

Exploitation steps

  1. Obtain valid credentials: Register or obtain a valid user account on a Parse Server instance running a vulnerable version (< 8.6.75 or 9.0.0–9.8.0-alpha.6).
  2. Authenticate and retrieve session token: Log in via the Parse Server API (e.g., POST /users) to obtain a valid session token (X-Parse-Session-Token).
  3. Send request to vulnerable endpoint: Issue a GET /sessions/me request with the session token in the header:
    GET /1/sessions/me HTTP/1.1
    Host: <parse-server-host>
    X-Parse-Application-Id: <app-id>
    X-Parse-Session-Token: <session-token>
  4. Retrieve protected fields: The response will include _Session fields that the server operator configured as protected via protectedFields, such as createdWith or other sensitive session metadata, which would be stripped by the GET /sessions or GET /sessions/:objectId endpoints (Github Advisory, Parse Server PR #10406).

Indicators of compromise

  • Network: Unusual or repeated GET /sessions/me requests from authenticated users, particularly if the same user account makes many such requests in a short period or from unexpected IP addresses.
  • Logs: Parse Server access logs showing GET /1/sessions/me requests with valid X-Parse-Session-Token headers from accounts that do not normally access this endpoint; review for access patterns inconsistent with normal application behavior.
  • Application: If protectedFields is configured for _Session and session audit logs reveal unexpected disclosure of protected field values, this may indicate exploitation attempts.

Mitigation and workarounds

Upgrade Parse Server to version 8.6.75 (for the 8.x LTS branch) or 9.8.0-alpha.7 or later (for the 9.x branch); the stable 9.8.0 release also includes this fix. No configuration-based workaround is available — the vendor explicitly states there are no workarounds. After upgrading, operators should review their protectedFields configuration for the _Session class and audit session access logs to determine if the vulnerability was exploited in their environment (Github Advisory, Parse Server PR #10407).

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