Medium

Directus has Improper Permission Handling on Deleted Fields

  • Disclosed: 14.11.2025
  • Updated: 11.10.2026 10:22

Summary

Directus does not properly clean up field-level permissions when a field is deleted. If a new field with the same name is created later, the system automatically re-applies the old permissions, which can lead to unauthorized access.

Details

When a field is removed from a collection, its reference in the permissions table remains intact. This stale reference creates a security gap: if another field is later created using the same name, it inherits the outdated permission entry.
This behavior can unintentionally grant roles access to data they should not be able to read or modify.

The issue is particularly risky in multi-tenant or production environments, where administrators may reuse field names, assuming old permissions have been fully cleared.

1.	Create a collection named test_collection.
2.	Add a field called secret_field.
3.	Assign a role with read permissions specifically tied to secret_field.
4.	Remove the secret_field from the collection.
5.	Create a new field with the exact same name secret_field.
6.	Notice that the previously assigned permissions are still active, granting access to the newly created field without reconfiguration.

Impact

When creating new fields with the same name as previously deleted fields it may inherit the permissions of that previously deleted field. This can potentially result in accidentally giving access to this new field in existing policies.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package directus < 11.13.0 11.13.0

References

CVSS score 4.6/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N
Weakness (CWE)
CWE-284, CWE-863
Platform
npm
Package
directus
Disclosed
14.11.2025
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-9x5g-62gj-wqf2 - CC BY 4.0

Vulnerability history: directus

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (58) in the archive
Total entries
58
First → latest
04.2022 07.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • Critical 2
  • High 19
  • Medium 34
  • Low 3

Disclosures per year

  1. 2022: 4
  2. 2023: 8
  3. 2024: 14
  4. 2025: 17
  5. 2026: 15
Severity:
  1. High · 7.7 CVE-2026-61835 < 12.0.0 12.0.0
  2. High · 8.7 CVE-2026-35408 < 11.17.0 11.17.0
  3. Directus has Improper Permission Handling on Deleted Fields this entry
    Medium · 4.6 CVE-2025-64746 < 11.13.0 11.13.0
  4. High · 8.6 CVE-2025-30353 >= 9.12.0, < 11.5.0 11.5.0
  5. High · 7.5 CVE-2024-54151 >= 11.0.0, < 11.3.0 11.3.0
  6. High · 7.4 CVE-2024-45596 < 10.13.3, >= 11.0.0-rc.1, < 11.1.0 10.13.3, 11.1.0
  7. High · 7.5 CVE-2024-39896 >= 9.11, < 10.13.0 10.13.0
  8. High · 6.3 CVE-2024-39701 >= 9.23.0, < 10.6.0 10.6.0
  9. High · 8.2 CVE-2024-27295 < 10.8.3 10.8.3
  10. High · 7.5 CVE-2023-45820 >= 10.4.0, < 10.6.2 10.6.2
  11. High · 7.6 ghsa-22rr-f3p8-5gf8 < 10.6.0 10.6.0
  12. Critical · 9.8 CVE-2022-26969 < 9.7.0 9.7.0

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.