CVE-2026-35413: Directus GraphQL Schema SDL Disclosure Setting
Summary
When GRAPHQLINTROSPECTION=false is configured, Directus correctly blocks standard GraphQL introspection queries (schema, type). However, the serverspecsgraphql resolver on the /graphql/system endpoint returns an equivalent SDL representation of the schema and was not subject to the same restriction. This allowed the introspection control to be bypassed, exposing schema structure (collection names, field names, types, and relationships) to unauthenticated users at the public permission level, and to authenticated users at their permitted permission level.
Impact
Administrators who set GRAPHQLINTROSPECTION=false to hide schema structure from clients would have had a false sense of security, as equivalent schema information remained accessible via the SDL endpoint without authentication.
Credit
This vulnerability was discovered and reported by bugbunny.ai.
Other sources
Directus is a real-time API and App dashboard for managing SQL database content. Prior to 11.16.1, when GRAPHQLINTROSPECTION=false is configured, Directus correctly blocks standard GraphQL introspection queries (schema, type). However, the serverspecsgraphql resolver on the /graphql/system endpoint returns an equivalent SDL representation of the schema and was not subject to the same restriction. This allowed the introspection control to be bypassed, exposing schema structure (collection names, field names, types, and relationships) to unauthenticated users at the public permission level, and to authenticated users at their permitted permission level. This vulnerability is fixed in 11.16.1.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/directusto a version that resolves this vulnerability.Fixed in 11.16.1 - Upgrade
Upgrade
Directusto a version that resolves this vulnerability.Fixed in 11.16.1