CVE-2023-49097High· 8.1▾ TwilightZITADEL Account Takeover via Malicious Host Header Injection
▾ Twilight zone — High severity, or a signal on a lesser flaw
impact 44.6 · likelihood 0.2 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Sep 12.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via OSV
Last analysed / modified upstream
0.8%
ZITADEL uses the notification triggering requests Forwarded or X-Forwarded-Host header to build the button link sent in emails for confirming a password reset with the emailed code. If this header is overwritten and a user clicks the link to a malicious site in the email, the secret code can be retrieved and used to reset the users password and take over his account.
Accounts with MFA or Passwordless enabled can not be taken over by this attack.
The patched ZITADEL versions verify, that the auth requests instance is retrieved by the requests original domain (from the Forwarded or X-Forwarded-Host headers if available). If the instance can't be found using the original host or the auth request can't be found within that instance, ZITADEL throws an error.
2.x versions are fixed on >= 2.41.6 2.40.x versions are fixed on >= 2.40.10 2.39.x versions are fixed on >= 2.39.9
The vulnerablility was introduced with 2.39.0.
A ZITADEL fronting proxy can be configured to delete all Forwarded and X-Forwarded-Host header values before sending requests to ZITADEL self-hosted environments.
None
If you have any questions or comments about this advisory, please email us at [email protected]
github.com/zitadel/zitadel >= 2.39.0, < 2.39.9github.com/zitadel/zitadel >= 2.40.0, < 2.40.10github.com/zitadel/zitadel >= 2.41.0, < 2.41.6Upgrade to a patched release:
github.com/zitadel/zitadel 2.39.9github.com/zitadel/zitadel 2.40.10github.com/zitadel/zitadel 2.41.6Connected by shared product, vendor, weakness, or advisory.
CVE-2026-56668High· 8.1ZITADEL: Unauthorized Token Privilege Escalation in OAuth2 Token Exchange
CVE-2026-76081Medium· 5.5ZITADEL is an open source identity management platform
CVE-2023-47111High· 7.3ZITADEL race condition in lockout policy execution
CVE-2023-22492Medium· 5.9Zitadel RefreshToken invalidation vulnerability
CVE-2026-56665Medium· 4.2ZITADEL: Missing Token Expiration (`exp`) Validation in JWT IdP Provider
CVE-2026-56664Medium· 4.2ZITADEL: Missing Token Lifecyle Validation (`exp` and `iat`) in JWT IdP Provider