CVE-2024-39701

Directus Incorrectly handles _in` filter

Published Jul 8, 2024 CVSS 3.1 · 6.3 Medium EPSS < 1% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2024-2368 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.
Github GHSA Github GHSA GHSA-hxgm-ghmv-xjjm Directus incorrectly handles `_in` filter
History
Type Values Removed Values Added
First Time appeared Monospace
Monospace directus
CPEs cpe:2.3:a:monospace:directus:*:*:*:*:*:*:*:*
Vendors & Products Monospace
Monospace directus
Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 2, 2024, 4:26 AM
Reserved
Jun 27, 2024, 6:44 PM
Status
Analyzed
Published
Jul 8, 2024, 5:15 PM
Modified
Jun 17, 2026, 7:42 AM