CVE-2025-53942
published 2025-07-23CVE-2025-53942: authentik is an open-source Identity Provider that emphasizes flexibility and versatility, with support for a wide set of protocols. In versions 2025.4.4 and…
PriorityP349high7.4CVSS 3.1
AVNACHPRNUINSUCHIHAN
EPSS
0.49%
38.4th percentile
authentik is an open-source Identity Provider that emphasizes flexibility and versatility, with support for a wide set of protocols. In versions 2025.4.4 and earlier, as well as versions 2025.6.0-rc1 through 2025.6.3, deactivated users who registered through OAuth/SAML or linked their accounts to OAuth/SAML providers can still retain partial access to the system despite their accounts being deactivated. They end up in a half-authenticated state where they cannot access the API but crucially they can authorize applications if they know the URL of the application. To workaround this issue, developers can add an expression policy to the user login stage on the respective authentication flow with the expression of return request.context["pending_user"].is_active. This modification ensures that the return statement only activates the user login stage when the user is active. This issue is fixed in versions authentik 2025.4.4 and 2025.6.4.
Affected
4 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| goauthentik | authentik | < 2025.4.4 | 2025.4.4 |
| goauthentik | authentik | <= 2025.4.3, < 2025.4.4 | — |
| goauthentik | authentik | — | — |
| goauthentik | authentik | >= 2025.6.0 < 2025.6.4 | 2025.6.4 |
CVSS provenance
nvdv3.17.4HIGHCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
nvdv4.07.1HIGHCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
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 has insufficient check for account active status when authenticating with OAuth/SAML Sources in goauthentik.io
osv·2025-08-11
CVE-2025-53942 Authentik has insufficient check for account active status when authenticating with OAuth/SAML Sources in goauthentik.io
Authentik has insufficient check for account active status when authenticating with OAuth/SAML Sources in goauthentik.io
Authentik has insufficient check for account active status when authenticating with OAuth/SAML Sources 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-20250722122105-7a4c6b9b50f8.
GHSA
Authentik has insufficient check for account active status when authenticating with OAuth/SAML Sources
ghsa·2025-07-22
CVE-2025-53942 [HIGH] CWE-269 Authentik has insufficient check for account active status when authenticating with OAuth/SAML Sources
Authentik has insufficient check for account active status when authenticating with OAuth/SAML Sources
### Summary
Deactivated users that had either enrolled via OAuth/SAML or had their account connected to an OAuth/SAML account can still partially access authentik even if their account is deactivated. They end up in a half-authenticated state where they cannot access the API but crucially they can authorize applications if they know the URL of the application.
### Patches
authentik 2025.4.4 and 2025.6.4 fix this issue.
### Workarounds
Adding an expression policy to the user login stage on the respective authentication flow with the expression of
```py
return request.context["pending_user"].is_active
```
This expression will only activate the user login stage when the user is activ
OSV
Authentik has insufficient check for account active status when authenticating with OAuth/SAML Sources
osv·2025-07-22
CVE-2025-53942 [HIGH] Authentik has insufficient check for account active status when authenticating with OAuth/SAML Sources
Authentik has insufficient check for account active status when authenticating with OAuth/SAML Sources
### Summary
Deactivated users that had either enrolled via OAuth/SAML or had their account connected to an OAuth/SAML account can still partially access authentik even if their account is deactivated. They end up in a half-authenticated state where they cannot access the API but crucially they can authorize applications if they know the URL of the application.
### Patches
authentik 2025.4.4 and 2025.6.4 fix this issue.
### Workarounds
Adding an expression policy to the user login stage on the respective authentication flow with the expression of
```py
return request.context["pending_user"].is_active
```
This expression will only activate the user login stage when the user is activ
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://github.com/goauthentik/authentik/commit/7a4c6b9b50f8b837133a7a1fd2cb9b7f18a145cdhttps://github.com/goauthentik/authentik/commit/c3629d12bfe3d32d3dc8f85c0ee1f087a55dde8fhttps://github.com/goauthentik/authentik/commit/ce3f9e3763c1778bf3a16b98c95d10f4091436abhttps://github.com/goauthentik/authentik/security/advisories/GHSA-9g4j-v8w5-7x42
2025-07-23
Published