CVE-2023-39522: Username enumeration attack in goauthentik
Summary Using a recovery flow with an identification stage an attacker is able to determine if a username exists.
Impact Only setups configured with a recovery flow are impacted by this. Anyone with a user account on a system with the recovery flow described above is susceptible to having their username/email revealed as existing.
Details
An attacker can easily enumerate and check users' existence using the recovery flow, as a clear message is shown when a user doesn't exist. Depending on configuration this can either be done by username, email, or both.
The invalid and valid usernames should both show the same message and always send an email. Article for reference here: https://postmarkapp.com/guides/password-reset-email-best-practices#how-to-make-sure-your-password-reset-emails-are-secure
For more information
If you have any questions or comments about this advisory:
- Email us at security@goauthentik.io
Other sources
goauthentik is an open-source Identity Provider. In affected versions using a recovery flow with an identification stage an attacker is able to determine if a username exists. Only setups configured with a recovery flow are impacted by this. Anyone with a user account on a system with the recovery flow described above is susceptible to having their username/email revealed as existing. An attacker can easily enumerate and check users' existence using the recovery flow, as a clear message is shown when a user doesn't exist. Depending on configuration this can either be done by username, email, or both. This issue has been addressed in versions 2023.5.6 and 2023.6.2. Users are advised to upgrade. There are no known workarounds for this issue.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is CVE-2023-39522?
CVE-2023-39522 is a vulnerability in goauthentik, an open-source Identity Provider, that allows an attacker to determine if a username exists through a recovery flow with an identification stage.
What is the impact of CVE-2023-39522?
The impact of CVE-2023-39522 is limited to setups configured with a recovery flow. Users with a user account on a system with the described recovery flow are susceptible to having their username determined by an attacker.
Which software versions are affected by CVE-2023-39522?
Versions up to and excluding 2023.5.6 of the @goauthentik/api npm package and versions between 2023.6.0 and 2023.6.2 of the Goauthentik Authentik package are affected by CVE-2023-39522.
What is the severity of CVE-2023-39522?
CVE-2023-39522 has a severity score of 5.3, which is considered medium.
How can CVE-2023-39522 be fixed?
To fix CVE-2023-39522, ensure that you are using version 2023.5.6 or later of the @goauthentik/api npm package or version 2023.6.2 or later of the Goauthentik Authentik package.