Directus — это API и панель приложений, работающая в режиме реального времени, для управления содержимым базы данных SQL. До версии 12.0.0, когда кэширование ответов включено, вывод ключа кэша в api/src/utils/get-cache-key.ts включает версию, путь, запрос и accountability.user, но опускает контекст авторизации, такой как общий ресурс, роль, роли, администратор, приложение и политики. Токены общего ресурса Directus и анонимные запросы могут быть сведены к пользовательскому нулю, поэтому разные общие ресурсы или анонимные клиенты, запрашивающие один и тот же URL-адрес и запрос, могут получать кэшированный ответ с фильтрацией разрешений без повторной оценки разрешений.
Эта проблема исправлена в версии 12.0.0.
Показать оригинальное описание (EN)
Directus is a real-time API and App dashboard for managing SQL database content. Prior to 12.0.0, when response caching is enabled, the cache-key derivation in api/src/utils/get-cache-key.ts includes version, path, query, and accountability.user but omits authorization context such as share, role, roles, admin, app, and policies. Directus share tokens and anonymous requests can both reduce to user null, so different shares or anonymous clients requesting the same URL and query can receive a permission-filtered cached response without permission re-evaluation. This issue is fixed in version 12.0.0.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Monospace Directus
cpe:2.3:a:monospace:directus:*:*:*:*:*:node.js:*:*
|
— |
12.0.0
|