ZITADEL
CVE-2025-67494
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed ZITADEL Login UI
-
DeliverySend request with crafted x-zitadel-forward-host header
-
ExploitServer treats header as trusted service URL
-
ExecutionServer fetches attacker-chosen internal URL
-
ImpactRead upstream response and exfiltrate internal data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the ZITADEL instance to be running the Login UI (V2) on an affected version (v4.0.0-rc.1 through 4.7.0) and to be reachable by the attacker; the server must accept and trust the x-zitadel-forward-host header, which per the advisory is the default behavior for all deployments including self-hosted single-instance setups. No authentication (PR:N), user interaction (UI:N), or special configuration is needed on the target. The primary limiting factor is a fronting reverse proxy that strips or overwrites x-zitadel-forward-host (and related forwarded headers) before passing requests to ZITADEL - the vendor's documented workaround - which neutralizes the attack; deployments not exposing the V2 Login UI are likewise not affected. |
| Impact | This is a genuine high-priority issue rather than a CVSS-inflated one, though not an emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N, 8.6) is internally consistent with the description: an unauthenticated (PR:N), network-reachable (AV:N), low-complexity (AC:L) full-read SSRF whose scope changes (S:C) because the vulnerable ZITADEL server is coerced into reaching other systems, with high confidentiality impact (C:H) and no integrity or availability impact. The signals are not fully aligned, however: EPSS is only 0.44% (37th percentile), there is NO CISA KEV listing, and no public exploit was identified in the provided data - so despite the high base score, there is no evidence of active or imminent widespread exploitation yet. The counterweight is that this is a CWE-918 full-read SSRF in an identity/authentication product, where successful exploitation can reach internal services, cloud metadata endpoints, and segmented networks, which is high-value and typically draws attacker attention once a PoC appears. Net: treat as a prompt-patch item (identity infrastructure, unauthenticated, trivial to trigger) but the current real-world exploitation probability is low and the fix is a straightforward patch upgrade. |
| Exploit ScenarioDerived | An unauthenticated attacker sends an HTTP request to an internet-exposed ZITADEL Login UI (V2) with a crafted x-zitadel-forward-host header pointing at an internal address (for example a cloud metadata endpoint or an internal admin service). The server trusts the header as its service-URL fallback, issues the outbound request, and returns the upstream response to the attacker, allowing data exfiltration from internal services and bypass of network-segmentation controls. No public exploit was identified in the provided data, but the GitHub advisory describes the exact header and trigger, so weaponization effort would be minimal. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Unauthenticated server-side request forgery in the ZITADEL Login UI (V2) lets a remote attacker coerce the server into issuing HTTP requests to arbitrary hosts - including internal, non-routable addresses - and read the upstream responses back, turning the identity server into a data-exfiltration and network-segmentation-bypass primitive. All deployments running the V2 Login UI on versions 4.0.0-rc.1 through 4.7.0 are affected, including self-hosted single-instance installations, because the service-URL resolution logic falls back to the attacker-supplied x-zitadel-forward-host header by default; no authentication or user interaction is required (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N, base 8.6). Exploitation is not confirmed as active - the CVE is not in CISA KEV and no public exploit code has been identified - and EPSS is low at 0.44% (37th percentile), though the impact is high enough that patching to 4.7.1 or later, or stripping the header at a fronting proxy, should be treated as a priority rather than an emergency.
RemediationAI
Vendor-released patch: upgrade ZITADEL to 4.7.1 or later (https://github.com/zitadel/zitadel/releases/tag/v4.7.1), which validates x-zitadel-forward-host and related forwarded headers against instance and trusted domains and stops using them to route traffic to the ZITADEL API - before upgrading, confirm that ZITADEL_API_URL is set and points to your instance or, in multi-instance deployments, to the correct system, that your reverse proxy passes the HTTP host (or x-forwarded-host) to the Login UI, and that multi-instance setups set x-zitadel-instance-host (or x-zitadel-forward-host) in the proxy, since omitting these can break login routing after the upgrade. If immediate patching is not possible, the vendor-documented workaround is to configure a fronting proxy that deletes all x-zitadel-forward-host values or overwrites the header with the actual requested host before forwarding to ZITADEL; the trade-off is that multi-instance deployments relying on that header to select the target instance must switch to x-zitadel-instance-host (or equivalent proxy-injected routing) or login requests may resolve to the wrong instance. Because the primitive is an outbound fetch, additionally restricting the ZITADEL Login UI's egress to only its required API and identity-provider endpoints, and blocking access to link-local metadata addresses and internal management ranges at the network layer, reduces the confidentiality impact if any unpatched instance remains reachable; neither compensating control repairs the vulnerability itself, and header-stripping remains the strongest mitigation until 4.7.1 is deployed.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a classic CWE-918 server-side request forgery rooted in trust-boundary confusion in ZITADEL's Next.js-based Login UI (V2), tracked against CPE cpe:2.3:a:zitadel:zitadel. In affected builds, request handlers derived the backend ZITADEL API/service URL from the incoming x-zitadel-forward-host header, treating that header as a trusted fallback rather than validating it against the instance's configured domains and trusted domains. Because the header is fully attacker-controlled on a direct or poorly fronted request, an unauthenticated caller could redirect the Login UI's server-side fetches to any host of their choosing - cloud metadata endpoints, RFC1918 services, localhost-only administrative interfaces - and the response body was then surfaced back to the caller (a full-read SSRF, not a blind one). The CVSS scope-change flag (S:C) reflects that the vulnerable component's request machinery is abused to affect resources beyond its own security authority, and C:H/I:N/A:N reflects that the primitive is read-only but can expose highly sensitive internal data. The upstream commit 4c879b47334e01d4fcab921ac1b44eda39acdb96 reworks the login app's URL handling - replacing the getServiceUrlFromHeaders helper with getServiceConfig and threading a ServiceConfig object through the accounts, authenticator, and other login routes - so that forwarded-host headers are validated against known instance/trusted domains and are no longer used to route traffic to the ZITADEL API. The same commit also bumps the bundled Next.js dependency, consistent with hardening the server-side fetch path.
Know when Zitadel gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Unauthenticated, network-reachable, low-complexity SSRF needing no user interaction; scope changes as the server reaches other systems, yielding high confidentiality but no integrity or availability impact.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
ZITADEL is an open-source identity infrastructure tool. Versions 4.7.0 and below are vulnerable to an unauthenticated, full-read SSRF vulnerability. The ZITADEL Login UI (V2) treats the x-zitadel-forward-host header as a trusted fallback for all deployments, including self-hosted instances. This allows an unauthenticated attacker to force the server to make HTTP requests to arbitrary domains, such as internal addresses, and read the responses, enabling data exfiltration and bypassing network-segmentation controls. This issue is fixed in version 4.7.1.
Executive ViewAI
The ZITADEL Login UI (V2) contains a high-severity unauthenticated server-side request forgery vulnerability affecting versions 4.0.0-rc.1 through 4.7.0, enabling attackers to force the identity server to access internal network resources and read the responses. This could expose sensitive internal systems and bypass network segmentation for organizations relying on ZITADEL for authentication, including self-hosted single-instance deployments. Although no public exploit identified at time of analysis and exploitation is not confirmed actively exploited (CISA KEV), the potential for data exfiltration warrants immediate management attention.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Affected Products (CPE)NVD
Zitadel is open-source identity infrastructure software. Rated critical severity (CVSS 9.1), this vulnerability is remot
ZITADEL is an identity infrastructure system. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable
Authentication bypass in ZITADEL 4.x before 4.19.2 and 3.x through 3.4.15 lets an authenticated attacker with organizati
Account takeover in ZITADEL affects instances running 3.0.0 through 3.4.15 and 4.0.0 before 4.17.3: an unauthenticated r
Cross-organization account takeover in ZITADEL 3.x before 3.4.15 and 4.x before 4.17.1 allows an authenticated attacker
Stored XSS in ZITADEL identity management platform versions 4.0.0 to 4.11.1 allows unauthenticated attackers to inject p
Account pre-hijacking in ZITADEL lets an unauthenticated remote attacker create a user record already bound to a victim'
Authentication bypass in ZITADEL's Login V2 UI (versions 3.0.0 through 4.19.1) allows unauthenticated attackers to take
Remote account takeover in ZITADEL versions before 4.17.1 allows unauthenticated attackers to compromise MFA-protected a
The open-source identity infrastructure software Zitadel allows administrators to disable the user self-registration. Ra
The open-source identity infrastructure software Zitadel allows administrators to disable the user self-registration. Ra
Unauthenticated username-change in ZITADEL's hosted Login V1 UI lets a remote attacker rename any active human account -
NVD
CVE.org
EPSS
GitHub
Exploit-DB