CVE-2025-64717

9.8 CRITICAL

📋 TL;DR

This vulnerability in ZITADEL identity management platform allows unauthenticated attackers to bypass organization security controls and perform account takeover. Attackers can use disabled identity providers to link external identities to existing internal user accounts. Organizations using ZITADEL versions 2.50.0 through 2.71.18, 3.x through 3.4.3, or 4.x through 4.6.5 are affected.

💻 Affected Systems

Products:
  • ZITADEL
Versions: 2.50.0 through 2.71.18, 3.x through 3.4.3, 4.x through 4.6.5
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects instance-level identity providers; organization-level IdPs are not vulnerable. MFA-protected accounts are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full account takeover of administrator or privileged user accounts, leading to complete compromise of identity management system and downstream applications.

🟠

Likely Case

Account takeover of regular user accounts, enabling unauthorized access to applications and data protected by ZITADEL authentication.

🟢

If Mitigated

Accounts with MFA enabled remain protected; only instance-level IdPs are vulnerable, limiting attack surface.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Attack requires knowledge of valid user accounts and access to disabled IdP credentials. No public exploit code available at time of analysis.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.71.19, 3.4.4, or 4.6.6

Vendor Advisory: https://github.com/zitadel/zitadel/security/advisories/GHSA-j4g7-v4m4-77px

Restart Required: Yes

Instructions:

1. Backup your ZITADEL instance and configuration. 2. Upgrade to version 2.71.19, 3.4.4, or 4.6.6 depending on your major version. 3. Restart ZITADEL services. 4. Verify the fix by testing authentication flows with disabled IdPs.

🔧 Temporary Workarounds

Enable MFA for all accounts

all

Multi-factor authentication prevents account takeover via this vulnerability

Disable instance-level IdPs

all

Remove or disable all identity providers configured at instance level

🧯 If You Can't Patch

  • Enable MFA for all user accounts immediately
  • Audit and disable all instance-level identity providers

🔍 How to Verify

Check if Vulnerable:

Check ZITADEL version and compare against affected ranges. Verify if instance-level IdPs are configured.

Check Version:

zitadel version or check ZITADEL admin interface version information

Verify Fix Applied:

After upgrade, attempt authentication with a disabled IdP - it should be properly rejected. Check that organization login policies are enforced.

📡 Detection & Monitoring

Log Indicators:

  • Authentication attempts from disabled IdPs
  • Unexpected user account linking events
  • Failed login policy enforcement logs

Network Indicators:

  • Authentication requests to disabled IdP endpoints
  • Unexpected federation traffic patterns

SIEM Query:

source="zitadel" AND (event="user_linked" OR event="auth_attempt") AND status="success" AND idp_status="disabled"

🔗 References

📤 Share & Export