Skip to main content

ZITADEL CVE-2025-67494

HIGH
Server-Side Request Forgery (SSRF) (CWE-918)
2025-12-09 security-advisories@github.com
8.6
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach exposed ZITADEL Login UI
  2. Delivery
    Send request with crafted x-zitadel-forward-host header
  3. Exploit
    Server treats header as trusted service URL
  4. Execution
    Server fetches attacker-chosen internal URL
  5. Impact
    Read 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

go github.com/zitadel/zitadel fix: 1.80.0-v2.20.0.20251208091519-4c879b47334e, 4.7.1
go github.com/zitadel/zitadel/v2 fix: 1.80.0-v2.20.0.20251208091519-4c879b47334e

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

NVD PRIMARY 8.6 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
vuln.today AI 8.6 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:H/SI:N/SA:N

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 63% exploitable
Prevalence
Medium
popular open-source self-hosted IAM, moderate but not universal deployment
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +43
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

Affected Products (CPE)NVD

cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*
CVE-2024-49753 CRITICAL POC
9.1 Oct 25

Zitadel is open-source identity infrastructure software. Rated critical severity (CVSS 9.1), this vulnerability is remot

CVE-2023-49097 HIGH POC
8.8 Nov 30

ZITADEL is an identity infrastructure system. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable

CVE-2026-109372 CRITICAL
9.3 Oct 12

Authentication bypass in ZITADEL 4.x before 4.19.2 and 3.x through 3.4.15 lets an authenticated attacker with organizati

CVE-2026-105207 CRITICAL
9.3 Oct 04

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

CVE-2026-105209 CRITICAL
9.3 Oct 04

Cross-organization account takeover in ZITADEL 3.x before 3.4.15 and 4.x before 4.17.1 allows an authenticated attacker

CVE-2026-29191 CRITICAL
9.3 Mar 07

Stored XSS in ZITADEL identity management platform versions 4.0.0 to 4.11.1 allows unauthenticated attackers to inject p

CVE-2026-105215 CRITICAL
9.3 Oct 04

Account pre-hijacking in ZITADEL lets an unauthenticated remote attacker create a user record already bound to a victim'

CVE-2026-109373 CRITICAL
9.2 Oct 12

Authentication bypass in ZITADEL's Login V2 UI (versions 3.0.0 through 4.19.1) allows unauthenticated attackers to take

CVE-2026-105211 CRITICAL
9.2 Oct 04

Remote account takeover in ZITADEL versions before 4.17.1 allows unauthenticated attackers to compromise MFA-protected a

CVE-2025-27507 CRITICAL
9.0 Mar 04

The open-source identity infrastructure software Zitadel allows administrators to disable the user self-registration. Ra

CVE-2024-49757 MEDIUM POC
4.9 Oct 25

The open-source identity infrastructure software Zitadel allows administrators to disable the user self-registration. Ra

CVE-2026-109371 HIGH
8.8 Oct 12

Unauthenticated username-change in ZITADEL's hosted Login V1 UI lets a remote attacker rename any active human account -

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy