CVE-2025-64101: GO-2025-4084 - ZITADEL Vulnerable to Account Takeover via Malicious Forwarded Header Injection in github.com/zitadel/zitadel

CVE-2025-64101 · Severity: high · CVSS 8.1 · Published 2025-10-29

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.

Technologies: github.com/zitadel/zitadel (Go), github.com/zitadel/zitadel/v2 (Go), ZITADEL. Vendors: Go, ZITADEL.

Quick answers

Is CVE-2025-64101 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2025-64101 being exploited in the wild.
How severe is CVE-2025-64101?
High severity, with a CVSS score of 8.1, published 29 October 2025.
Which products and versions are affected?
github.com/zitadel/zitadel (Go) SEMVER:introduced=0; github.com/zitadel/zitadel/v2 (Go) SEMVER:introduced=2.0.0,fixed=2.71.18.
Is there a fix for CVE-2025-64101?
Yes. github.com/zitadel/zitadel/v2 (Go): upgrade to 2.71.18 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
Am I affected by CVE-2025-64101?
Check whether you run github.com/zitadel/zitadel (Go), github.com/zitadel/zitadel/v2 (Go) or ZITADEL at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • github.com/zitadel/zitadel/v2 (Go): upgrade to 2.71.18 or later
    go get github.com/zitadel/zitadel/v2@v2.71.18

Affected products

  • github.com/zitadel/zitadel (Go) SEMVER:introduced=0
  • github.com/zitadel/zitadel/v2 (Go) SEMVER:introduced=2.0.0,fixed=2.71.18
  • ZITADEL

Identifiers

  • CVE-2025-64101
  • GHSA-mwmh-7px9-4c23
  • GO-2025-4084

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.