CVE-2025-27507

9.0 CRITICAL

📋 TL;DR

Zitadel's Admin API contains Insecure Direct Object Reference (IDOR) vulnerabilities that allow authenticated users without proper IAM roles to modify sensitive settings, including LDAP configurations. The most critical impact is manipulation of LDAP authentication settings, potentially allowing attackers to bypass authentication or gain unauthorized access. Organizations using Zitadel with LDAP authentication are at highest risk.

💻 Affected Systems

Products:
  • Zitadel
Versions: All versions before 2.71.0, 2.70.1, 2.69.4, 2.68.4, 2.67.8, 2.66.11, 2.65.6, 2.64.5, and 2.63.8
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Customers not using LDAP authentication are not at risk from the most severe LDAP manipulation aspects, but other IDOR vulnerabilities still exist.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could modify LDAP configurations to redirect authentication to malicious servers, potentially compromising all user accounts and gaining administrative access to the Zitadel instance.

🟠

Likely Case

Authenticated users without proper privileges could modify various system settings, potentially disabling security features, altering user permissions, or changing authentication methods.

🟢

If Mitigated

With proper role-based access controls and network segmentation, impact would be limited to unauthorized setting changes within the authenticated user's scope.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires authenticated access but no special privileges. The vulnerability is in the Admin API endpoints.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.71.0, 2.70.1, 2.69.4, 2.68.4, 2.67.8, 2.66.11, 2.65.6, 2.64.5, or 2.63.8

Vendor Advisory: https://github.com/zitadel/zitadel/security/advisories/GHSA-f3gh-529w-v32x

Restart Required: Yes

Instructions:

1. Backup your Zitadel configuration and data. 2. Stop the Zitadel service. 3. Update to one of the patched versions using your package manager or deployment method. 4. Restart the Zitadel service. 5. Verify the update was successful.

🔧 Temporary Workarounds

Restrict Admin API Access

all

Limit network access to Zitadel's Admin API endpoints to only trusted administrative networks

Use firewall rules to restrict access to Zitadel Admin API ports (typically 8080)

Disable LDAP if Not Used

all

If LDAP authentication is not required, disable it completely to mitigate the most severe attack vector

Use Zitadel configuration to disable LDAP authentication

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate Zitadel Admin API from general user access
  • Enforce principle of least privilege by reviewing and minimizing all user permissions, especially Admin API access

🔍 How to Verify

Check if Vulnerable:

Check Zitadel version against affected versions list. If using LDAP, test if non-admin users can modify LDAP settings via Admin API.

Check Version:

zitadel version or check Zitadel web interface admin panel

Verify Fix Applied:

After patching, verify the version is updated and test that non-admin users cannot modify sensitive settings via Admin API endpoints.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized Admin API access attempts
  • LDAP configuration changes from non-admin users
  • Failed authentication attempts followed by Admin API access

Network Indicators:

  • Unusual Admin API traffic patterns
  • LDAP configuration modification requests from non-admin IPs

SIEM Query:

source="zitadel" AND (event_type="admin_api_access" OR event_type="ldap_config_change") AND user_role!="admin"

🔗 References

📤 Share & Export