CVE-2024-39701

MEDIUM

Directus 9.23.0-10.5.3 - Improper Access Control via Empty Array Evaluation in _in and _nin Operators

Title source: llm
STIX 2.1

Description

Directus is a real-time API and App dashboard for managing SQL database content. Directus >=9.23.0, <=v10.5.3 improperly handles _in, _nin operators. It evaluates empty arrays as valid so expressions like {"role": {"_in": $CURRENT_USER.some_field}} would evaluate to true allowing the request to pass. This results in Broken Access Control because the rule fails to do what it was intended to do: Pass rule if **field** matches any of the **values**. This vulnerability is fixed in 10.6.0.

References (1)

Core 1
Core References
Exploit, Third Party Advisory x_refsource_confirm
https://github.com/directus/directus/security/advisories/GHSA-hxgm-ghmv-xjjm

Scores

CVSS v3 6.3
EPSS 0.0011
EPSS Percentile 28.3%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N

CISA SSVC

Vulnrichment
Exploitation poc
Automatable no
Technical Impact partial

Details

CWE
CWE-284
Status published
Products (2)
monospace/directus 9.23.0 - 10.6.0
npm/directus 9.23.0 - 10.6.0npm
Published Jul 08, 2024
Tracked Since Feb 18, 2026