Directus missing permission checks for manual trigger Flows
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-287.
Summary
Directus is a real-time API and App dashboard for managing SQL database content. Starting in version 9.12.0 and prior to version 11.9.0, Directus Flows with a manual trigger are not validating whether the user triggering the Flow has permissions to the items provided as payload to the Flow. Depending on what the Flow is set up to do this can lead to the Flow executing potential tasks on the attacker's behalf without authenticating. Bad actors could execute the manual trigger Flows without authentication, or access rights to the said collection(s) or item(s). Users with manual trigger Flows configured are impacted as these endpoints do not currently validate if the user has read access to `directus_flows` or to the relevant collection/items. The manual trigger Flows should have tighter security requirements as compared to webhook Flows where users are expected to perform do their own checks. Version 11.9.0 fixes the issue. As a workaround, implement permission checks for read access to Flows and read access to relevant collection/items.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| directus | directus | 9.12.0 to before 11.9.0 | 11.9.0 | Patch available | CNA |
| — | directus (npm) | before 11.9.0 | 11.9.0 | Patch available | GHSA-7cvf-pxgp-42fc |
- directus Vendordirectus Affected 9.12.0 to before 11.9.0 Fixed in 11.9.0 Patch available CNA
- directus (npm) Vendor— Affected before 11.9.0 Fixed in 11.9.0 Patch available GHSA-7cvf-pxgp-42fc
Remediation
- Fix · CNA directus (directus) Fixed in 11.9.0
- Fix · GHSA-7cvf-pxgp-42fc directus (npm) Fixed in 11.9.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2025-53889
- 2026-10-03 Alias added: GHSA-7cvf-pxgp-42fc
References
Advisory 2
More Directus vulnerabilities
- TI-2025-21659 Directus's webhook trigger flows can leak sensitive data CVSS 3.1HIGH 8.6
- TI-2024-36266 Directus allows unauthenticated access to WebSocket events and operations CVSS 3.1HIGH 7.5
- TI-2024-26791 Directus allows SSO User Enumeration CVSS 3.1HIGH 7.5
- TI-2024-23956 Directus is soft-locked by providing a string value to random string util CVSS 3.1HIGH 7.5
- TI-2024-26624 Directus Incorrectly handles _in` filter CVSS 3.1HIGH 7.7
- TI-2025-21658 Directus `search` query parameter allows enumeration of non permitted fields CVSS 3.1MEDIUM 5.3
Sources
- CVE-2025-53889 · CVE Program
- CVE-2025-53889 · NVD
- FIRST EPSS
- GHSA-7cvf-pxgp-42fc · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences