Directus — это API и панель приложений, работающая в режиме реального времени, для управления содержимым базы данных SQL. До версии 11.16.1, когда настроен GRAPHQL_INTROSPECTION=false, Directus корректно блокирует стандартные запросы интроспекции GraphQL (__schema, __type). Однако сопоставитель server_specs_graphql в конечной точке /graphql/system возвращает эквивалентное SDL-представление схемы и не подпадает под такое же ограничение.
Это позволило обойти контроль самоанализа, раскрывая структуру схемы (имена коллекций, имена полей, типы и связи) неаутентифицированным пользователям на уровне общедоступных разрешений и аутентифицированным пользователям на их разрешенном уровне разрешений. Эта уязвимость исправлена в версии 11.16.1.
Показать оригинальное описание (EN)
Directus is a real-time API and App dashboard for managing SQL database content. Prior to 11.16.1, when GRAPHQL_INTROSPECTION=false is configured, Directus correctly blocks standard GraphQL introspection queries (__schema, __type). However, the server_specs_graphql 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.
Характеристики атаки
Последствия
Строка CVSS v3.1