| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| goauthentik.io | go | < 0.0.0-20251119140106-9dbdfc3f1be0 | 0.0.0-20251119140106-9dbdfc3f1be0 |
The analysis began by examining the provided commit URL, which was directly linked from the security advisory. The get_commit_infos tool was used to retrieve the patch details. The commit modified three files, but the core logic change was located in authentik/providers/oauth2/views/token.py. The diff revealed that the line user = User.objects.filter(username=username).first() was changed to user = User.objects.filter(username=username, is_active=True).first(). This change occurred within the __post_init_client_credentials_creds method of the TokenView class. The vulnerability is that the original code did not check the is_active status of the user, allowing a deactivated service account to authenticate. The patch rectifies this by adding the is_active=True filter. Therefore, the TokenView.__post_init_client_credentials_creds function is identified as the vulnerable function, as it is responsible for processing the credentials and failed to properly enforce the account status.
TokenView.__post_init_client_credentials_credsauthentik/providers/oauth2/views/token.py
Ongoing coverage of React2Shell