This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
authentik/website/docs/security/CVE-2022-23555.md
Jens L cd88b91686
security: fix CVE 2022 23555 (#4274)
* add flow to invitation

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* show warning on invitation page

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* add security advisory

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* add tests

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2022-12-23 14:18:13 +01:00

1.7 KiB

CVE-2022-23555

Token reuse in invitation URLs leads to access control bypass via the use of a different enrollment flow

Summary

Token reuse in invitation URLs leads to access control bypass via the use of a different enrollment flow than in the one provided.

Patches

authentik 2022.11.4, 2022.10.4 and 2022.12.0 fix this issue, for other versions the workaround can be used.

Impact

Only configurations using both 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.

Details

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.

Workarounds

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.

For more information

If you have any questions or comments about this advisory: