CVE-2025-27089
Last modified
CVE-2025-27089 is a medium-severity vulnerability rated 4.3/10 on the CVSS scale. Directus is a real-time API and App dashboard for managing SQL database content. In affected versions if there are two overlapping policies for the `update` action that allow access to different fields, instead of correctly checking access permissions against the item they apply for the user is allowed to update the superset of fields allowed by any of the policies. EPSS estimates a 0.22% chance of exploitation in the next 30 days.
Description
Directus is a real-time API and App dashboard for managing SQL database content. In affected versions if there are two overlapping policies for the `update` action that allow access to different fields, instead of correctly checking access permissions against the item they apply for the user is allowed to update the superset of fields allowed by any of the policies. E.g. have one policy allowing update access to `field_a` if the `id == 1` and one policy allowing update access to `field_b` if the `id == 2`. The user with both these policies is allowed to update both `field_a` and `field_b` for the items with ids `1` and `2`. Before v11, if a user was allowed to update an item they were allowed to update the fields that the single permission, that applied to that item, listed. With overlapping permissions this isn't as clear cut anymore and the union of fields might not be the fields the user is allowed to update for that specific item. The solution that this PR introduces is to evaluate the permissions for each field that the user tries to update in the validateItemAccess DB query, instead of only verifying access to the item as a whole. This is done by, instead of returning the actual field value, returning a flag that indicates if the user has access to that field. This uses the same case/when mechanism that is used for stripping out non permitted field that is at the core of the permissions engine. As a result, for every item that the access is validated for, the expected result is an item that has either 1 or null for all the "requested" fields instead of any of the actual field values. These results are not useful for anything other than verifying the field level access permissions. The final check in validateItemAccess can either fail if the number of items does not match the number of items the access is checked for (ie. the user does not have access to the item at all) or if not all of the passed in fields have access permissions for any of the returned items. This is a vulnerability that allows update access to unintended fields, potentially impacting the password field for user accounts. This has been addressed in version 11.1.2 and all users are advised to upgrade. There are no known workarounds for this vulnerability.
Metrics
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Monospace | Directus | >= 11.0.0, < 11.1.2 |
References
Timeline
- Published
- Last Modified
- Status
- Analyzed
Frequently Asked Questions
What is CVE-2025-27089?
How severe is CVE-2025-27089?
How do I fix CVE-2025-27089?
How Strix Helps
- Uncovering a hidden BOLA in Appsmith's snapshot logicStrix autonomously discovered a BOLA/IDOR vulnerability in Appsmith's snapshot deletion path.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2025
- CVE-2025-27083Authenticated command injection vulnerabilities exist in the…7.2
- CVE-2025-27084A vulnerability in the Captive Portal of an AOS-10 GW and AO…6.1
- CVE-2025-27085Multiple vulnerabilities exist in the web-based management i…4.9
- CVE-2025-27086A vulnerability in the HPE Performance Cluster Manager (HPCM…8.1
- CVE-2025-27087A vulnerability in the kernel of the Cray Operating System (…5.5
- CVE-2025-27088oxyno-zeta/s3-proxy is an aws s3 proxy written in go. In aff…8.2
- CVE-2025-2709A vulnerability has been found in Yonyou UFIDA ERP-NC 5.0 an…6.1
- CVE-2025-27090Sliver is an open source cross-platform adversary emulation/…5.3
- CVE-2025-27091OpenH264 is a free license codec library which supports H.26…7.5
- CVE-2025-27092GHOSTS is an open source user simulation framework for cyber…7.5
- CVE-2025-27093Sliver is a command and control framework that uses a custom…6.3
- CVE-2025-27094Tuleap is an open-source suite designed to improve software …5.4
Are you affected by CVE-2025-27089?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
