{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "47b9824954fd6538406d1ae754ec99f4744e5cff"
            },
            {
              "fixed": "3ec4009bb84a4db4beefb64603df9fc53d82d9e4"
            }
          ],
          "repo": "https://github.com/directus/directus",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-hxgm-ghmv-xjjm"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-284"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/39xxx/CVE-2024-39701.json"
  },
  "details": "Directus is a real-time API and App dashboard for managing SQL database content. Directus \u003e=9.23.0, \u003c=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.",
  "id": "CVE-2024-39701",
  "modified": "2026-03-13T21:47:48.656550806Z",
  "published": "2024-07-08T16:43:01.595Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/39xxx/CVE-2024-39701.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/directus/directus/security/advisories/GHSA-hxgm-ghmv-xjjm"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2024-39701"
    }
  ],
  "schema_version": "1.7.3",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N",
      "type": "CVSS_V3"
    }
  ],
  "summary": "Directus Incorrectly handles _in` filter"
}