High

Directus: Authenticated Users Can Extract Concealed Fields via Aggregate Queries

  • Disclosed: 04.04.2026
  • Updated: 11.10.2026 10:22

Summary

Aggregate functions (min, max) applied to fields with the conceal special type incorrectly return raw database values instead of the masked placeholder. When combined with groupBy, any authenticated user with read access to the affected collection can extract concealed field values, including static API tokens and two-factor authentication secrets from directus_users.

Details

Fields marked with conceal are protected by payload processing logic that replaces real values with a masked placeholder on read. This protection works correctly for standard item queries, but aggregate query results are structured differently, operations are nested under their function name rather than appearing as flat field keys. The masking logic does not account for this nested structure, causing it to silently skip concealed fields in aggregate responses and return their raw values to the client.

Impact

  • Account Takeover An authenticated attacker can harvest static API tokens for all users, including administrators, enabling immediate authentication as any account without credentials.

  • 2FA Bypass TOTP seeds stored in directus_users can similarly be extracted, allowing an attacker to bypass two-factor authentication for any account.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package directus < 11.17.0 11.17.0

References

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

Sources and licenses

OSV / GitHub Advisory Database - GHSA-38hg-ww64-rrwc - 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. Directus: Authenticated Users Can Extract Concealed Fields via Aggregate Queries this entry
    High · 8.1 CVE-2026-35442 < 11.17.0 11.17.0
  3. High · 8.7 CVE-2026-35408 < 11.17.0 11.17.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
Show more (1) Showing 20 of 21

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.