CVE-2026-23511

Knock Knock, Who's There? Unmasking User Enumeration in ZITADEL

Alon Barad
Alon Barad
Software Engineer

Jan 15, 2026·7 min read·2 visits

Executive Summary (TL;DR)

ZITADEL versions prior to 4.9.1 and 3.4.6 were too honest for their own good. The application leaked user existence through inconsistent error handling in password reset flows and failed UI logic. If you sent a password reset request for a valid user, the system behaved differently than for an invalid one—leaking metadata via error messages or even the presence of password complexity policies. The fix? Lying to the user. The system now returns generic responses regardless of whether the account exists.

ZITADEL, a popular open-source identity management platform, suffered from a logic flaw that allowed unauthenticated attackers to confirm the existence of valid user accounts. By analyzing subtle discrepancies in error messages and UI behavior during password reset and login flows, attackers could harvest UserIDs and usernames, bypassing the platform's 'Ignore Unknown Usernames' security setting.

Fix Analysis (2)

Technical Appendix

CVSS Score
5.3/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Affected Systems

ZITADEL v4.0.0 - v4.9.0ZITADEL v3.0.0 - v3.4.5ZITADEL v2.x (Patched in 3.4.6 backport)

Affected Versions Detail

Product
Affected Versions
Fixed Version
ZITADEL
ZITADEL
>= 4.0.0, <= 4.9.04.9.1
ZITADEL
ZITADEL
>= 3.0.0, <= 3.4.53.4.6
AttributeDetail
CWE IDCWE-204
Attack VectorNetwork (API/Web)
CVSS5.3 (Medium)
Privileges RequiredNone
ImpactConfidentiality (Metadata)
Exploit StatusPoC Available
CWE-204
Observable Response Discrepancy

Observable Response Discrepancy

Vulnerability Timeline

Fixes committed to main branch
2026-01-14
GHSA-pvm5-9frx-264r published
2026-01-15
CVE-2026-23511 assigned
2026-01-15