CVE-2026-23511
📋 TL;DR
CVE-2026-23511 is a user enumeration vulnerability in ZITADEL identity management platform that allows unauthenticated attackers to confirm valid user accounts by testing usernames and userIDs. This affects all ZITADEL instances running versions before 4.9.1 and 3.4.6. The vulnerability exposes user account existence information which can facilitate targeted attacks.
💻 Affected Systems
- ZITADEL
📦 What is this software?
Zitadel by Zitadel
Zitadel by Zitadel
Zitadel by Zitadel
⚠️ Risk & Real-World Impact
Worst Case
Attackers build comprehensive user directories enabling targeted phishing, credential stuffing, or social engineering attacks against known valid accounts.
Likely Case
Attackers enumerate valid user accounts to identify targets for credential stuffing or brute force attacks, potentially leading to account compromise.
If Mitigated
Limited information disclosure with no direct access to passwords or sensitive data, but still reveals account existence.
🎯 Exploit Status
Simple enumeration attack requiring only HTTP requests to login endpoints.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 4.9.1 or 3.4.6
Vendor Advisory: https://github.com/zitadel/zitadel/security/advisories/GHSA-pvm5-9frx-264r
Restart Required: Yes
Instructions:
1. Backup your ZITADEL instance. 2. Update to ZITADEL version 4.9.1 (for v4) or 3.4.6 (for v3). 3. Restart the ZITADEL service. 4. Verify the update was successful.
🔧 Temporary Workarounds
Rate Limiting
allImplement rate limiting on login endpoints to slow down enumeration attempts.
# Configure rate limiting in your reverse proxy or application firewall
WAF Rules
allDeploy WAF rules to detect and block user enumeration patterns.
# Add WAF rules for login endpoint abuse detection
🧯 If You Can't Patch
- Implement network-level controls to restrict access to login interfaces
- Deploy monitoring and alerting for suspicious login attempt patterns
🔍 How to Verify
Check if Vulnerable:
Test login endpoints with valid and invalid usernames - if response times or error messages differ, the system is vulnerable.
Check Version:
zitadel version
Verify Fix Applied:
After patching, test that both valid and invalid usernames return identical response patterns.
📡 Detection & Monitoring
Log Indicators:
- Multiple failed login attempts with different usernames from same IP
- Unusual patterns of login requests
Network Indicators:
- High volume of requests to login endpoints
- Sequential username patterns in requests
SIEM Query:
source="zitadel" AND (event="login_failed" OR event="login_attempt") | stats count by src_ip, username | where count > threshold
🔗 References
- https://github.com/zitadel/zitadel/commit/b85ab69e4679b0268e2b0e9b4cd04e934af10dd2
- https://github.com/zitadel/zitadel/commit/c300d4cc6a2775ab17ddfe76492f24170f8b858d
- https://github.com/zitadel/zitadel/releases/tag/v3.4.6
- https://github.com/zitadel/zitadel/releases/tag/v4.9.1
- https://github.com/zitadel/zitadel/security/advisories/GHSA-pvm5-9frx-264r