GitHub Advisoryadvisory · npm

GHSA-8jpw-gpr4-8cmh Directus's conceal fields are searchable if read permissions enabled

MEDIUM Published 2025-11-13 Modified 2025-11-15 Official page ↗
Aliases
CVE-2025-64748
Ecosystem
npm
Packages
directus, @directus/api
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Weaknesses
CWE-201
Reviewed
2025-11-13

Affected packages

• npm directus: < 11.13.0 → fixed in 11.13.0 • npm @directus/api: < 32.0.0 → fixed in 32.0.0

Description

Summary A vulnerability allows authenticated users to search concealed/sensitive fields when they have read permissions. While actual values remain masked (`**`), successful matches can be detected through returned records, enabling enumeration attacks on sensitive data. Details The system permits search operations on concealed fields in the `directus_users` collection, including `token`, `tfa_secret`, `password`. Matching records are returned with masked values, but their presence confirms the searched value exists. The "Recommended Defaults" for "App Access" grant users full read permissions to their role/user records, inadvertently enabling them to search for any user's tokens, TFA secrets, and password hashes. Attackers can leverage known password hashes from breach databases to identify accounts with compromised passwords. Impact This vulnerability enables: • Token enumeration - Verification of valid authentication tokens • Password hash matching - Identification of accounts using known compromised passwords • Information disclosure - Confirmation of sensitive value existence without viewing actual data • Increased attack surface** - Default permissions automatically expose all deployments using recommended settings The risk is particularly high for password fields, where attackers can cross-reference publicly available hash databases to identify vulnerable accounts.

Related

Alias · CVE (1)

  • CVE-2025-64748 Directus is a real-time API and App dashboard for managing SQL database content. vulnerability

Weakness · CWE (1)

  • CWE-201 Insertion of Sensitive Information Into Sent Data weakness

References