CVE-2025-64521
published 2025-11-19CVE-2025-64521: authentik is an open-source Identity Provider. Prior to versions 2025.8.5 and 2025.10.2, when authenticating with client_id and client_secret to an OAuth…
PriorityP424medium4.8CVSS 3.1
AVNACLPRHUIRSCCLILAN
EPSS
0.19%
9.1th percentile
authentik is an open-source Identity Provider. Prior to versions 2025.8.5 and 2025.10.2, when authenticating with client_id and client_secret to an OAuth provider, authentik creates a service account for the provider. In previous authentik versions, authentication for this account was possible even when the account was deactivated. Other permissions are correctly applied and federation with other providers still take assigned policies correctly into account. authentik versions 2025.8.5 and 2025.10.2 fix this issue. A workaround involves adding a policy to the application that explicitly checks if the service account is still valid, and deny access if not.
Affected
4 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| goauthentik | authentik | < 2025.10.2 | 2025.10.2 |
| goauthentik | authentik | < 2025.8.5 | 2025.8.5 |
| goauthentik | authentik | >= 2025.10.0 < 2025.10.2 | 2025.10.2 |
| goauthentik | authentik | >= 2025.8.0 < 2025.8.5 | 2025.8.5 |
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
authentik allows a deactivated Service account to authenticate to OAuth in goauthentik.io
osv·2025-12-15
CVE-2025-64521 authentik allows a deactivated Service account to authenticate to OAuth in goauthentik.io
authentik allows a deactivated Service account to authenticate to OAuth in goauthentik.io
authentik allows a deactivated Service account to authenticate to OAuth in goauthentik.io.
NOTE: The source advisory for this report contains additional versions that could not be automatically mapped to standard Go module versions.
(If this is causing false-positive reports from vulnerability scanners, please suggest an edit to the report.)
The additional affected modules and versions are: goauthentik.io before v0.0.0-20251119140106-9dbdfc3f1be0.
OSV
authentik allows a deactivated Service account to authenticate to OAuth
osv·2025-11-19
CVE-2025-64521 [MEDIUM] authentik allows a deactivated Service account to authenticate to OAuth
authentik allows a deactivated Service account to authenticate to OAuth
### Summary
When authenticating with `client_id` and `client_secret` to an OAuth provider, authentik creates a service account for the provider. In previous authentik versions, authentication for this account was possible even when the account was deactivated. Other permissions are correctly applied and federation with other providers still take assigned policies correctly into account.
### Patches
authentik 2025.8.5 and 2025.10.2 fix this issue, for other versions the workaround below can be used.
### Workarounds
You can add a policy to your application that explicitly checks if the service account is still valid, and deny access if not.
```python
return request.user.is_active
```
### For more information
If
GHSA
authentik allows a deactivated Service account to authenticate to OAuth
ghsa·2025-11-19
CVE-2025-64521 [MEDIUM] CWE-286 authentik allows a deactivated Service account to authenticate to OAuth
authentik allows a deactivated Service account to authenticate to OAuth
### Summary
When authenticating with `client_id` and `client_secret` to an OAuth provider, authentik creates a service account for the provider. In previous authentik versions, authentication for this account was possible even when the account was deactivated. Other permissions are correctly applied and federation with other providers still take assigned policies correctly into account.
### Patches
authentik 2025.8.5 and 2025.10.2 fix this issue, for other versions the workaround below can be used.
### Workarounds
You can add a policy to your application that explicitly checks if the service account is still valid, and deny access if not.
```python
return request.user.is_active
```
### For more information
If
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
2025-11-19
Published