CVE-2022-23555
authentik vulnerable to Improper Authentication via invitation URL token reuse
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
1Exploited in Wild
-Decision
Descriptions
authentik is an open-source Identity Provider focused on flexibility and versatility. Versions prior to 2022.11.4 and 2022.10.4 are vulnerable to Improper Authentication. Token reuse in invitation URLs leads to access control bypass via the use of a different enrollment flow than in the one provided. The vulnerability allows an attacker that knows different invitation flows names (e.g. `enrollment-invitation-test` and `enrollment-invitation-admin`) via either different invite links or via brute forcing to signup via a single invitation url for any valid invite link received (it can even be a url for a third flow as long as it's a valid invite) as the token used in the `Invitations` section of the Admin interface does NOT change when a different `enrollment flow` is selected via the interface and it is NOT bound to the selected flow, so it will be valid for any flow when used. This issue is patched in authentik 2022.11.4,2022.10.4 and 2022.12.0. Only configurations that use invitations and have multiple enrollment flows with invitation stages that grant different permissions are affected. The default configuration is not vulnerable, and neither are configurations with a single enrollment flow. As a workaround, fixed data can be added to invitations which can be checked in the flow to deny requests. Alternatively, an identifier with high entropy (like a UUID) can be used as flow slug, mitigating the attack vector by exponentially decreasing the possibility of discovering other flows.
authentik es un proveedor de identidades de código abierto centrado en la flexibilidad y la versatilidad. Las versiones anteriores a 2022.11.4 y 2022.10.4 son vulnerables a una autenticación incorrecta. La reutilización de tokens en las URL de invitación conduce a eludir el control de acceso mediante el uso de un flujo de inscripción diferente al proporcionado. La vulnerabilidad permite a un atacante que conoce diferentes nombres de flujos de invitación (por ejemplo, `inscripción-invitación-prueba` y `inscripción-invitación-admin`) a través de diferentes enlaces de invitación o mediante fuerza bruta registrarse a través de una única URL de invitación para cualquier enlace de invitación válido recibido (incluso puede ser una URL para un tercer flujo siempre que sea una invitación válida), ya que el token utilizado en la sección "Invitaciones" de la interfaz de administración NO cambia cuando se selecciona un "flujo de inscripción" diferente a través de la interfaz y NO está vinculado al flujo seleccionado, por lo que será válido para cualquier flujo cuando se utilice. Este problema se solucionó en authentik 2022.11.4,2022.10.4 y 2022.12.0. Solo se ven afectadas las configuraciones que usan invitaciones y tienen múltiples flujos de inscripción con etapas de invitación que otorgan diferentes permisos. La configuración predeterminada no es vulnerable, como tampoco lo son las configuraciones con un único flujo de inscripción. Como workaround, se pueden agregar datos fijos a las invitaciones que se pueden verificar en el flujo para rechazar solicitudes. Alternativamente, se puede utilizar un identificador con alta entropía (como un UUID) como flow slug, mitigando el vector de ataque al disminuir exponencialmente la posibilidad de descubrir otros flujos.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2022-01-19 CVE Reserved
- 2022-12-28 CVE Published
- 2024-08-03 CVE Updated
- 2024-08-03 First Exploit
- 2024-12-17 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
CWE
- CWE-287: Improper Authentication
CAPEC
References (1)
URL | Tag | Source |
---|
URL | Date | SRC |
---|---|---|
https://github.com/goauthentik/authentik/security/advisories/GHSA-9qwp-jf7p-vr7h | 2024-08-03 |
URL | Date | SRC |
---|
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Goauthentik Search vendor "Goauthentik" | Authentik Search vendor "Goauthentik" for product "Authentik" | < 2022.10.4 Search vendor "Goauthentik" for product "Authentik" and version " < 2022.10.4" | - |
Affected
| ||||||
Goauthentik Search vendor "Goauthentik" | Authentik Search vendor "Goauthentik" for product "Authentik" | >= 2022.11.0 < 2022.11.4 Search vendor "Goauthentik" for product "Authentik" and version " >= 2022.11.0 < 2022.11.4" | - |
Affected
|