CVE-2025-64101 ZITADEL Vulnerable to Account Takeover via Malicious Forwarded Header Injection
Attackers can inject malicious headers to redirect password reset links, capturing secret codes to take over user accounts without MFA.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2025-64101?
CVE-2025-64101 is a high-severity vulnerability in zitadel, published on 29 Oct 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
Zitadel is open-source identity infrastructure software. Prior to 4.6.0, 3.4.3, and 2.71.18, a potential vulnerability exists in ZITADEL's password reset mechanism. ZITADEL utilizes the Forwarded or X-Forwarded-Host header from incoming requests to construct the URL for the password reset confirmation link. This link, containing a secret code, is then emailed to the user. If an attacker can manipulate these headers (e.g., via host header injection), they could cause ZITADEL to generate a password reset link pointing to a malicious domain controlled by the attacker. If the user clicks this manipulated link in the email, the secret reset code embedded in the URL can be captured by the attacker. This captured code could then be used to reset the user's password and gain unauthorized access to their account. It's important to note that this specific attack vector is mitigated for accounts that have Multi-Factor Authentication (MFA) or Passwordless authentication enabled. This vulnerability is fixed in 4.6.0, 3.4.3, and 2.71.18.
Which versions are affected by CVE-2025-64101?
5 open source packages ship an affected version, including github.com/zitadel/zitadel/v2 and github.com/zitadel/zitadel. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/zitadel/zitadel/v2 Go | All versions | 1.80.0-v2.20.0.20251029090537-72a5c33e6ac3 |
github.com/zitadel/zitadel/v2 Go | All versions | 1.80.0-v2.20.0.20251029090537-72a5c33e6ac3 |
github.com/zitadel/zitadel/v2 Go | From 2.0.0 | 2.71.18 |
github.com/zitadel/zitadel/v2 Go | From 2.0.0 | 2.71.18 |
github.com/zitadel/zitadel Go | All versions | None |
Products include Zitadel Zitadel.
How do I fix CVE-2025-64101?
Upgrade github.com/zitadel/zitadel/v2 to a fixed version for your release line: 1.80.0-v2.20.0.20251029090537-72a5c33e6ac3 or 2.71.18.
Is CVE-2025-64101 being exploited?
There is no known exploitation of CVE-2025-64101 in the wild and no public exploit code.
Other vulnerabilities in zitadel
- CVE-2026-29191 ZITADEL: 1-Click Account Takeover via XSS in /saml-post Endpoint
- CVE-2025-67494 ZITADEL Vulnerable to Unauthenticated Full-Read SSRF via V2 Login
- CVE-2025-27507 IDOR Vulnerabilities in ZITADEL's Admin API that Primarily Impact LDAP Configurations
- CVE-2025-64103 Zitadel Bypass Second Authentication Factor
- CVE-2025-31123 Zitadel Expired JWT Keys Usable for Authorization Grants
Sources
Also known as GHSA-mwmh-7px9-4c23, GO-2025-4084.