Directus: Authorization-dependent response served from unsegmented cache key
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-61836
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 07:01 UTC · Revision 1
Source evidence
Directus: Authorization-dependent response served from unsegmented cache key
core-osv · Original sourcePublished 15 Jul 2026, 14:17 UTC
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.
osv:CVE-2026-61836
Complete source record
{
"id": "d3b06ebaa361338f4f48b7e863a642ae8ec10bc245fdcc457e6443df432debf1",
"url": "https://osv.dev/vulnerability/CVE-2026-61836",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Directus: Authorization-dependent response served from unsegmented cache key",
"summary": "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.",
"evidence": "osv:CVE-2026-61836",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-61836",
"aliases": [
"CVE-2026-61836",
"GHSA-c6w9-5g5j-jh2p"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/directus/directus",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "33ec9381437e768aad2dfe5cdae8c3c1fc85e2ae"
},
{
"fixed": "7ba4efb97525d3af33570537c76e44baea767f13"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:monospace:directus:*:*:*:*:*:node.js:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "12.0.0"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "7ba4efb97525d3af33570537c76e44baea767f13"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "33ec9381437e768aad2dfe5cdae8c3c1fc85e2ae"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v12.0.0"
}
]
}
}
],
"versions": [
"v12.0.0-rc.2",
"v12.0.0-rc.1",
"v11.17.4",
"v11.17.3",
"v11.17.2",
"v11.17.1",
"v11.17.0",
"v11.16.1",
"v11.16.0",
"v11.15.4",
"v11.15.3",
"remove",
"list",
"delete",
"v11.15.2",
"v11.15.1",
"v11.15.0",
"v11.14.1",
"v11.14.0",
"v11.13.4",
"v11.13.3",
"v11.13.2",
"v11.13.1",
"v11.13.0",
"v11.12.0",
"v11.11.0",
"v11.10.2",
"v11.10.1",
"v11.10.0",
"v11.9.3",
"v11.9.2",
"v11.9.1",
"v11.9.0",
"v11.8.0",
"v11.7.2",
"v11.7.1",
"v11.7.0",
"v11.6.1",
"v11.6.0",
"v11.5.1",
"v11.5.0",
"v11.4.1",
"v11.4.0",
"v11.3.5",
"v11.3.4",
"v11.3.3",
"v11.3.2",
"v11.3.1",
"v11.3.0",
"v11.2.2",
"v11.2.1",
"v11.2.0",
"v11.1.2",
"v11.1.1",
"v11.1.0",
"v10.13.2",
"v11.0.2",
"v11.0.1",
"v11.0.0",
"v10.13.1",
"v10.13.0",
"v10.12.1",
"v10.11.2",
"10.11.2",
"v10.11.1",
"v10.11.0",
"v10.10.7",
"v10.10.6",
"v10.10.5",
"v10.10.4",
"v10.10.3",
"v10.10.2",
"v10.10.1",
"v10.10.0",
"v10.9.3",
"v10.9.2",
"v10.9.1",
"v10.9.0",
"v10.8.3",
"v10.8.2",
"v10.8.1",
"v10.8.0",
"v10.7.2",
"v10.7.1",
"v10.7.0",
"v10.6.4",
"v10.6.3",
"v10.6.2",
"v10.6.1",
"v10.6.0",
"v10.5.3",
"v10.5.2",
"v10.5.1",
"v10.5.0",
"v10.4.3",
"v10.4.2",
"v10.4.0",
"v10.3.0",
"v10.2.1",
"v10.2.0",
"v10.1.1",
"v10.1.0",
"v10.0.0",
"v9.26.0",
"v9.25.2",
"v9.25.1",
"v9.25.0",
"v9.24.0",
"v9.23.4",
"v9.23.3",
"v9.23.2",
"v9.23.1",
"v9.23.0",
"v9.22.4",
"v9.22.3",
"v9.22.2",
"v9.22.1",
"v9.22.0",
"v9.21.2",
"v9.21.1",
"v9.21.0",
"v9.20.4",
"v9.20.3",
"v9.20.2",
"v9.20.1",
"v9.20.0",
"v9.19.2",
"v9.19.1",
"v9.19.0",
"v9.18.1",
"v9.18.0",
"v9.17.4",
"v9.17.3",
"v9.17.2",
"v9.17.1",
"v9.17.0",
"v9.16.1",
"v9.16.0",
"v9.15.1",
"v9.15.0",
"v9.14.5",
"v9.14.4",
"v9.14.3",
"v9.14.2",
"v9.14.1",
"v9.13.0",
"v9.12.2",
"v9.12.1",
"v9.12.0",
"v9.11.1",
"v9.11.0",
"v9.10.0",
"v9.9.1",
"v9.9.0",
"v9.8.0",
"v9.7.1",
"v9.7.0",
"v9.6.0",
"v9.5.2",
"v9.5.1",
"v9.5.0",
"v9.4.3",
"v9.4.2",
"v9.4.1",
"v9.4.0",
"v9.3.0",
"v9.2.2",
"v9.2.1",
"v9.2.0",
"v9.1.2",
"v9.1.1",
"v9.1.0",
"v9.0.1",
"v9.0.0",
"v9.0.0-rc.101",
"v9.0.0-rc.100",
"v9.0.0-rc.99",
"v9.0.0-rc.98",
"v9.0.0-rc.97",
"v9.0.0-rc.96",
"v9.0.0-rc.95",
"v9.0.0-rc.94",
"v9.0.0-rc.93",
"v9.0.0-rc.92",
"v9.0.0-rc.91",
"v9.0.0-rc.90",
"v9.0.0-rc.89",
"v9.0.0-rc.88",
"v9.0.0-rc.87",
"v9.0.0-rc.86",
"v9.0.0-rc.85",
"v9.0.0-rc.84",
"v9.0.0-rc.83",
"v9.0.0-rc.82",
"v9.0.0-rc.81",
"v9.0.0-rc.80",
"v9.0.0-rc.79",
"v9.0.0-rc.78",
"v9.0.0-rc.77",
"v9.0.0-rc.76",
"v9.0.0-rc.75",
"v9.0.0-rc.74",
"v9.0.0-rc.73",
"v9.0.0-rc.72",
"v9.0.0-rc.71",
"v9.0.0-rc.70",
"v9.0.0-rc.69",
"v9.0.0-rc.68",
"v9.0.0-rc.67",
"v9.0.0-rc.66",
"v9.0.0-rc.65",
"v9.0.0-rc.64",
"v9.0.0-rc.63",
"v9.0.0-rc.62",
"v9.0.0-rc.61",
"v9.0.0-rc.60",
"v9.0.0-rc.59",
"v9.0.0-rc.58",
"v9.0.0-rc.57",
"v9.0.0-rc.56",
"v9.0.0-rc.55",
"v9.0.0-rc.54",
"v9.0.0-rc.53",
"v9.0.0-rc.52",
"v9.0.0-rc.51",
"v9.0.0-rc.50",
"v9.0.0-rc.49",
"v9.0.0-rc.48",
"v9.0.0-rc.47",
"v9.0.0-rc.46",
"v9.0.0-rc.45",
"v9.0.0-rc.44",
"v9.0.0-rc.43",
"v9.0.0-rc.42",
"v9.0.0-rc.41",
"v9.0.0-rc.40",
"v9.0.0-rc.39",
"v9.0.0-rc.38",
"v9.0.0-rc.37",
"v9.0.0-rc.36",
"v9.0.0-rc.35",
"v9.0.0-rc.34",
"v9.0.0-rc.33",
"v9.0.0-rc.32",
"v9.0.0-rc.31",
"v9.0.0-rc.30",
"v9.0.0-rc.29",
"v9.0.0-rc.28",
"v9.0.0-rc.27",
"v9.0.0-rc.25",
"v9.0.0-rc.26",
"v9.0.0-rc.24",
"v9.0.0-rc.23",
"v9.0.0-rc.22",
"v9.0.0-rc.21",
"v9.0.0-rc.20",
"v9.0.0-rc.19",
"v9.0.0-rc.18",
"v9.0.0-rc.17",
"v9.0.0-rc.15",
"v9.0.0-rc.14",
"v9.0.0-rc.13",
"v9.0.0-rc.12",
"v9.0.0-rc.11",
"v9.0.0-rc.10",
"v9.0.0-rc.9",
"v9.0.0-rc.8",
"v9.0.0-rc.7",
"v9.0.0-rc.6",
"v9.0.0-rc.5",
"v9.0.0-rc.4",
"v9.0.0-rc.3",
"v9.0.0-rc.2",
"v9.0.0-rc.1",
"v9.0.0-rc.0",
"v9.0.0-beta.14",
"v9.0.0-beta.13",
"v9.0.0-beta.12",
"v9.0.0-beta.11",
"v9.0.0-beta.10",
"v9.0.0-beta.9",
"v9.0.0-beta.8",
"v9.0.0-beta.7",
"v9.0.0-beta.5",
"v9.0.0-beta.4",
"v9.0.0-beta.3",
"v9.0.0-beta.2",
"v9.0.0-beta.1",
"v9.0.0-beta.0",
"v9.0.0-alpha.42",
"v9.0.0-alpha.41",
"v9.0.0-alpha.40",
"v9.0.0-alpha.39",
"v9.0.0-alpha.38",
"v9.0.0-alpha.37",
"v9.0.0-alpha.36",
"v9.0.0-alpha.34",
"v9.0.0-alpha.33",
"v9.0.0-alpha.32",
"v9.0.0-alpha.31",
"v9.0.0-y.0",
"v9.0.0-alpha.27",
"v9.0.0-alpha.26",
"v9.0.0-alpha.25",
"v9.0.0-alpha.24",
"v9.0.0-alpha.23",
"v9.0.0-alpha.22",
"v9.0.0-alpha.21",
"v9.0.0-alpha.20",
"v9.0.0-alpha.18",
"v9.0.0-alpha.17",
"v9.0.0-alpha.16",
"v9.0.0-alpha.15",
"v9.0.0-alpha.14",
"v9.0.0-alpha.10",
"v9.0.0-alpha.9",
"v9.0.0-alpha.8",
"v9.0.0-alpha.7",
"v9.0.0-alpha.6",
"v9.0.0-alpha.5",
"v9.0.0-alpha.4"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-61836.json"
}
}
],
"modified": "2026-10-28T02:30:50.011546696Z",
"provider": "osv",
"references": [
"https://github.com/directus/directus/releases/tag/v12.0.0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61836.json",
"https://github.com/directus/directus/security/advisories/GHSA-c6w9-5g5j-jh2p",
"https://nvd.nist.gov/vuln/detail/CVE-2026-61836",
"https://github.com/directus/directus/commit/7ba4efb97525d3af33570537c76e44baea767f13",
"https://github.com/directus/directus/pull/27707"
],
"provider_metadata": {
"cwe_ids": [
"CWE-524",
"CWE-639"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61836.json"
}
},
"related_cves": [
{
"value": "CVE-2026-61836",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 518574,
"published_at": "2026-07-15T14:17:21.034+00:00"
}