Skip to content

Directus Allows Single Sign-On User Enumeration

High severity GitHub Reviewed Published Jul 8, 2024 in directus/directus • Updated Jul 8, 2024

Package

directus (npm)

Affected versions

>= 9.11, < 10.13.0

Patched versions

10.13.0

Description

Impact

When relying on SSO providers in combination with local authentication it can be possible to enumerate existing SSO users in the instance. This is possible because if an email address exists in Directus and belongs to a known SSO provider then it will throw a "helpful" error that the user belongs to another provider.

Reproduction

  1. Create a user using a SSO provider test@directus.io.
  2. Try to log-in using the regular login form (or the API)
  3. When using a valid email address
APP API
image image
  1. When using an invalid email address
APP API
image image
  1. Using this differing error it is possible to determine whether a specific email address is present in the Directus instance as an SSO user.

Workarounds

When only using SSO for authentication then you can work around this issue by disabling local login using the following environment variable AUTH_DISABLE_DEFAULT="true"

References

Implemented as feature in directus/directus#13184
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/03-Identity_Management_Testing/04-Testing_for_Account_Enumeration_and_Guessable_User_Account

References

@br41nslug br41nslug published to directus/directus Jul 8, 2024
Published by the National Vulnerability Database Jul 8, 2024
Published to the GitHub Advisory Database Jul 8, 2024
Reviewed Jul 8, 2024
Last updated Jul 8, 2024

Severity

High
7.5
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Weaknesses

CVE ID

CVE-2024-39896

GHSA ID

GHSA-jgf4-vwc3-r46v

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.