{"cve":"CVE-2025-48936","nvd":{"published":"2025-05-30T07:15:24.427","modified":"2026-06-17T09:30:30.837","status":"Analyzed","description":"Zitadel is open-source identity infrastructure software. Prior to versions 2.70.12, 2.71.10, and 3.2.2, a potential vulnerability exists in the 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. This specific attack vector is mitigated for accounts that have Multi-Factor Authentication (MFA) or Passwordless authentication enabled. This issue has been patched in versions 2.70.12, 2.71.10, and 3.2.2.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","score":8.8},"cwes":["CWE-77","CWE-601"],"references":["https://github.com/zitadel/zitadel/commit/c097887bc5f680e12c998580fb56d98a15758f53","https://github.com/zitadel/zitadel/security/advisories/GHSA-93m4-mfpg-c3xf"],"products":["zitadel:zitadel"],"source":"nvd","synced_at":"2026-10-19T22:02:23.998251710+00:00"},"epss":{"cve":"CVE-2025-48936","score":0.00411,"percentile":0.35357,"date":"2026-10-31"},"kev":null,"osv":[{"id":"GHSA-93m4-mfpg-c3xf","url":"https://osv.dev/vulnerability/GHSA-93m4-mfpg-c3xf","summary":"ZITADEL Allows Account Takeover via Malicious X-Forwarded-Proto Header Injection","modified":"2026-04-01T17:33:34.727924Z","packages":[{"ecosystem":"Go","name":"github.com/zitadel/zitadel","purl":"pkg:golang/github.com/zitadel/zitadel","ranges":["<0.0.0-20250528081227-c097887bc5f6"],"fixed":["0.0.0-20250528081227-c097887bc5f6"]},{"ecosystem":"Go","name":"github.com/zitadel/zitadel/v2","purl":"pkg:golang/github.com/zitadel/zitadel/v2","ranges":[">=2.38.3 <2.70.12"],"fixed":["2.70.12"]},{"ecosystem":"Go","name":"github.com/zitadel/zitadel/v2","purl":"pkg:golang/github.com/zitadel/zitadel/v2","ranges":[">=3.0.0-rc1 <3.2.2"],"fixed":["3.2.2"]},{"ecosystem":"Go","name":"github.com/zitadel/zitadel/v2","purl":"pkg:golang/github.com/zitadel/zitadel/v2","ranges":[">=2.71.0 <2.71.11"],"fixed":["2.71.11"]},{"ecosystem":"Go","name":"github.com/zitadel/zitadel/v2","purl":"pkg:golang/github.com/zitadel/zitadel/v2","ranges":["all versions"],"fixed":[]}]},{"id":"GO-2025-3721","url":"https://osv.dev/vulnerability/GO-2025-3721","summary":"ZITADEL Allows Account Takeover via Malicious X-Forwarded-Proto Header Injection in github.com/zitadel/zitadel","modified":"2025-05-31T04:29:09.501795Z","packages":[{"ecosystem":"Go","name":"github.com/zitadel/zitadel","purl":"pkg:golang/github.com/zitadel/zitadel","ranges":["<0.0.0-20250528081227-c097887bc5f6"],"fixed":["0.0.0-20250528081227-c097887bc5f6"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}