cve/2024/CVE-2024-39701.md

18 lines
1.0 KiB
Markdown
Raw Permalink Normal View History

2024-08-05 18:41:32 +00:00
### [CVE-2024-39701](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-39701)
![](https://img.shields.io/static/v1?label=Product&message=directus&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=%3D%20%3E%3D%209.23.0%2C%20%3C%2010.6.0%20&color=brighgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=CWE-284%3A%20Improper%20Access%20Control&color=brighgreen)
### 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.
### POC
#### Reference
- https://github.com/directus/directus/security/advisories/GHSA-hxgm-ghmv-xjjm
#### Github
No PoCs found on GitHub currently.