Parse Server's GraphQL "Did you mean ...?" validation suggestions disclose schema to unauthenticated callers
Moderate severity
GitHub Reviewed
Published
May 18, 2026
in
parse-community/parse-server
•
Updated May 29, 2026
Package
Affected versions
>= 9.0.0, < 9.9.1-alpha.2
< 8.6.78
Patched versions
9.9.1-alpha.2
8.6.78
Description
Published to the GitHub Advisory Database
May 29, 2026
Reviewed
May 29, 2026
Last updated
May 29, 2026
Impact
Parse Server's GraphQL endpoint discloses schema metadata to unauthenticated callers through
Did you mean ...?suggestions embedded in GraphQL validation-error messages. An unauthenticated caller who knows only the public application id can iteratively send malformed queries to reconstruct class names, field names, argument names, mutation names, and input-object fields. This bypasses theIntrospectionControlPluginenforced whengraphQLPublicIntrospection: false(the default) and defeats the schema-hiding goal of prior advisories GHSA-48q3-prgv-gm4w and GHSA-q5q9-2rhp-33qw. Schema disclosure aids reconnaissance for downstream authorization probing but does not by itself leak object data or authentication material.Patches
A new
SchemaSuggestionsControlPluginApollo plugin strips theDid you mean ...?suffix from GraphQL validation-error messages duringvalidationDidStart, which runs before any introspection gate. The plugin applies only whengraphQLPublicIntrospection: falseand the caller is not a master-key or maintenance-key holder, matching the trust model of the existingIntrospectionControlPlugin.Workarounds
No code workaround is available short of disabling the GraphQL API (
mountGraphQL: false). Operators who require disclosure-resistant validation errors should upgrade to a patched release.Resources
References