CVE-2026-31800
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-31800 is a missing authorization vulnerability in Parse Server, an open-source Node.js backend platform, that allows unauthenticated attackers to read, modify, and delete GraphQL configuration and push audience data via generic REST API routes. The vulnerability affects Parse Server versions prior to 8.6.25 (8.x branch) and versions 9.0.0 through 9.5.2-alpha.11 (9.x branch). It was published by the GitHub Advisory Database on March 9, 2026, and assigned CVE ID on March 10, 2026. It carries a CVSS v3.1 base score of 9.1 (Critical) and a CVSS v4.0 base score of 8.8 (High) (Github Advisory, Parse Server Advisory).

Technical details

The root cause is CWE-862 (Missing Authorization): the _GraphQLConfig and _Audience internal classes were not included in the classesWithMasterOnlyAccess list, meaning the generic /classes/_GraphQLConfig and /classes/_Audience REST API routes did not enforce master key authentication. This inconsistency allowed the generic /classes/ routes to bypass the master key enforcement that was correctly applied to the dedicated /graphql-config and /push_audiences endpoints. An unauthenticated attacker with network access can send standard HTTP GET, PUT, or DELETE requests to these routes without any credentials, requiring no special tools or elevated privileges. The fix adds the affected internal classes to the classesWithMasterOnlyAccess list to enforce consistent access control (Parse Server Advisory, Github Advisory).

Impact

Successful exploitation allows an unauthenticated remote attacker to read sensitive GraphQL configuration data (potentially exposing schema details or internal API structure), modify GraphQL configurations to alter application behavior, and delete or tamper with push notification audience data, disrupting push campaigns. While there is no direct code execution or availability impact at the system level, the ability to silently modify backend configurations could enable persistent interference with application functionality and data integrity. The vulnerability requires no user interaction and can be exploited with low complexity from any network location (Github Advisory, Parse Server Advisory).

Exploitability

There is no public proof-of-concept exploit code and no evidence of in-the-wild exploitation at this time (Github Advisory). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.106% (28th percentile), indicating a low near-term probability of exploitation. However, the attack requires no authentication, no user interaction, and low complexity, making it trivially exploitable if a public-facing Parse Server instance is identified.

Exploitation steps

  1. Reconnaissance: Identify internet-facing Parse Server instances using tools like Shodan or Censys by searching for known Parse Server HTTP response headers or default API paths (e.g., /parse/classes/).
  2. Confirm vulnerability: Send a test HTTP GET request to /parse/classes/_GraphQLConfig or /parse/classes/_Audience without any authentication headers. A successful JSON response (HTTP 200) confirms the instance is vulnerable.
  3. Read sensitive data: Issue an unauthenticated GET request to retrieve GraphQL configuration or push audience data:
    GET /parse/classes/_GraphQLConfig HTTP/1.1
    Host: <target>
    X-Parse-Application-Id: <app-id>
  4. Modify configuration: Send an unauthenticated PUT or POST request to alter GraphQL schema settings or push audience definitions, potentially disrupting application behavior or redirecting push notifications.
  5. Delete data: Issue an unauthenticated DELETE request to /parse/classes/_GraphQLConfig/<objectId> or /parse/classes/_Audience/<objectId> to remove configuration entries, causing service disruption. (Parse Server Advisory)

Indicators of compromise

  • Network: Unauthenticated HTTP GET, PUT, POST, or DELETE requests to /classes/_GraphQLConfig or /classes/_Audience REST API routes without a master key header (X-Parse-Master-Key).
  • Logs: Parse Server access logs showing requests to /classes/_GraphQLConfig or /classes/_Audience from unexpected or external IP addresses, particularly without master key authentication; HTTP 200 responses to these routes from unauthenticated clients.
  • Application Behavior: Unexpected changes to GraphQL schema configuration or push notification audience definitions; push notification campaigns targeting unintended audiences or failing unexpectedly.

Mitigation and workarounds

Upgrade Parse Server to version 8.6.25 (for the 8.x branch) or 9.5.2-alpha.12 (for the 9.x branch) immediately, as these releases add _GraphQLConfig and _Audience to the classesWithMasterOnlyAccess list (Parse Server 8.6.25 Release, Parse Server 9.5.2-alpha.12 Release). There is no known configuration-based workaround; the vendor explicitly states no workaround exists (Github Advisory). As a compensating control until patching is possible, implement network-level access controls (e.g., firewall rules or API gateway policies) to restrict access to the /classes/ REST API endpoints to trusted IP ranges only, and monitor API logs for suspicious unauthenticated requests to the affected routes.

Community reactions

The vulnerability was reported by security researcher theinfosecguy and coordinated by Parse Server maintainer mtrezza, who published the advisory on March 9, 2026 (Parse Server Advisory). Community discussion was observed on Bluesky and security aggregator sites shortly after disclosure, with coverage appearing on CVE feed aggregators and vulnerability databases within hours of publication. No major media coverage or significant controversy has been noted.

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-48170CRITICAL9.1
  • JavaScript logoJavaScript
  • scim-patch
NoYesAug 07, 2026
CVE-2026-48007HIGH8.6
  • JavaScript logoJavaScript
  • @element-hq/element-call-embedded
NoYesAug 07, 2026
CVE-2026-69207MEDIUM5.3
  • JavaScript logoJavaScript
  • gemini-cli
NoYesAug 07, 2026
CVE-2026-71850MEDIUM4.8
  • JavaScript logoJavaScript
  • langfuse-fips-4
NoYesAug 07, 2026
CVE-2026-71849LOW3.7
  • JavaScript logoJavaScript
  • hono
NoYesAug 07, 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