Improper Authentication Affecting github.com/goauthentik/authentik package, versions <2022.10.4 >=2022.11.0 <2022.11.4
Threat Intelligence
Do your applications use this vulnerable package?
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applications- Snyk ID SNYK-GOLANG-GITHUBCOMGOAUTHENTIKAUTHENTIK-3184403
- published 28 Dec 2022
- disclosed 28 Dec 2022
- credit fuomag9
Introduced: 28 Dec 2022
CVE-2022-23555 Open this link in a new tabHow to fix?
Upgrade github.com/goauthentik/authentik
to version 2022.10.4, 2022.11.4 or higher.
Overview
Affected versions of this package are vulnerable to Improper Authentication such that token reuse in invitation URLs leads to access control bypass via the usage of a different enrollment flow than 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). 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.
Note:
Only configurations that use invitations and have multiple enrollments 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.
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 a flow slug, mitigating the attack vector by exponentially decreasing the possibility of discovering other flows.