CVE-2025-64521

4.8 MEDIUM

📋 TL;DR

This vulnerability allows deactivated service accounts in authentik to still authenticate via OAuth client credentials, bypassing account status controls. It affects authentik deployments using OAuth provider authentication with client_id and client_secret. Only authentik versions before 2025.8.5 and 2025.10.2 are vulnerable.

💻 Affected Systems

Products:
  • authentik
Versions: All versions before 2025.8.5 and 2025.10.2
Operating Systems: All platforms running authentik
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects deployments using OAuth provider authentication with client_id and client_secret. Federation with other providers still respects assigned policies correctly.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker with knowledge of deactivated service account credentials could gain unauthorized access to federated systems, potentially accessing sensitive resources or performing actions with the account's remaining permissions.

🟠

Likely Case

Accidental or intentional use of deactivated service accounts that should have been disabled, leading to unauthorized access to integrated applications or services.

🟢

If Mitigated

No impact if proper patching or workarounds are implemented, as authentication checks will properly validate account activation status.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires knowledge of deactivated service account credentials. The vulnerability is straightforward to exploit once credentials are obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2025.8.5 or 2025.10.2

Vendor Advisory: https://github.com/goauthentik/authentik/security/advisories/GHSA-xr73-jq5p-ch8r

Restart Required: Yes

Instructions:

1. Update authentik to version 2025.8.5 or 2025.10.2 using your deployment method (Docker, Kubernetes, etc.). 2. Restart the authentik services. 3. Verify the update was successful by checking the version.

🔧 Temporary Workarounds

Add explicit policy check

all

Create a policy that explicitly checks if the service account is still active and denies access if deactivated

Add a custom policy in authentik admin interface that validates account activation status before allowing authentication

🧯 If You Can't Patch

  • Implement the policy workaround described in the advisory
  • Rotate all OAuth client credentials and audit service account activation status

🔍 How to Verify

Check if Vulnerable:

Check if authentik version is earlier than 2025.8.5 and 2025.10.2, and if OAuth provider authentication with client credentials is configured

Check Version:

Check authentik admin interface or run: docker exec authentik_server authentik version

Verify Fix Applied:

After updating, verify version is 2025.8.5 or 2025.10.2, then test that deactivated service accounts cannot authenticate

📡 Detection & Monitoring

Log Indicators:

  • Authentication attempts from deactivated service accounts
  • Successful authentications from accounts marked as inactive

Network Indicators:

  • OAuth token requests from unexpected sources

SIEM Query:

source="authentik" AND (event="authentication" OR event="token") AND (user_status="inactive" OR account_status="disabled")

🔗 References

📤 Share & Export