CVE-2026-61836
published 2026-07-15CVE-2026-61836: 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…
PriorityP351high8.6CVSS 3.1
AVNACLPRNUINSCCHINAN
EPSS
0.47%
40.0th percentile
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.
Affected
3 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| directus | directus | < 12.0.0 | 12.0.0 |
| directus | directus | >= 0 < 12.0.0 | 12.0.0 |
| monospace | directus | < 12.0.0 | 12.0.0 |
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
VulDB
Directus up to 11.x Cache Key Derivation get-cache-key.ts improper authorization
vuldb·2026-07-30·CVSS 8.6
CVE-2026-61836 [HIGH] Directus up to 11.x Cache Key Derivation get-cache-key.ts improper authorization
A vulnerability marked as problematic has been reported in Directus up to 11.x. Impacted is an unknown function of the file api/src/utils/get-cache-key.ts of the component Cache Key Derivation. This manipulation causes improper authorization.
This vulnerability is registered as CVE-2026-61836. Remote exploitation of the attack is possible. No exploit is available.
It is suggested to upgrade the affected component.
GHSA
Directus: Authorization-dependent response served from unsegmented cache key
ghsa·2026-07-20
CVE-2026-61836 [HIGH] CWE-524 Directus: Authorization-dependent response served from unsegmented cache key
Directus: Authorization-dependent response served from unsegmented cache key
## Summary
When response caching is enabled (`CACHE_ENABLED=true`), the cache-key derivation in `api/src/utils/get-cache-key.ts` includes only `version`, `path`, `query`, and `accountability.user` (plus a conditional `ip`). Authorization context beyond `user` (`share`, `role`, `roles`, `admin`, `app`, `policies`) is not part of the key.
For share tokens this is load-bearing. Directus's share-authentication flow (`api/src/services/shares.ts:100-105`) issues a JWT without an `id` claim, so `api/src/utils/get-accountability-for-token.ts` never assigns `accountability.user`, leaving it `null` (the default from `create-default-accountability.ts`). Every share token, and every anonymous request, therefore reduces to
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
2026-07-15
Published