CVE-2024-39701 json
Directus Incorrectly handles _in` filter
published 2024-07-08 2 y ago modified 2026-09-10 1 mo ago also EUVD-2024-2368 , GHSA-hxgm-ghmv-xjjm
- cvss
- 6.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 36%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm directus 10.6.0
- monospace directus 10.6.0
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.42% chance of exploitation in the next 30 days, higher than 36% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/directus/directus/security/advisories/GHSA-hxgm-ghmv-xjjm referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.3 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N |
| GitHub | 3.1 | 6.3 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N |
| NVD | 3.1 | 7.7 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | directus | >=9.23.0, <10.6.0 |
10.6.0 |
Affected products
- directus directus
- monospace directus
Classification
- Weakness
-
- CWE-284 Improper Access Control
References
-
github.com
/directus/directus/security/advisories/GHSA-hxgm-ghmv-xjjm
web, exploit, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2024-39701
advisory
-
github.com
/directus/directus
package
Sources
- CVE List CVE-2024-39701
- GitHub Advisory GHSA-hxgm-ghmv-xjjm
- NVD CVE-2024-39701
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.