Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with org-domain management rights
-
DeliveryRegister domain pointing to internal/metadata address
-
ExploitTrigger HTTP domain verification
-
ExecutionServer fetches via unprotected http.Get
-
ImpactEnumerate internal ports and map network
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 | Requires an authenticated principal with privileges to create/manage an organization and register a custom domain in Zitadel, then initiate the HTTP-based domain verification flow (PR:L). The specific flaw is that the challenge-fetch code path uses Go's default http.Get instead of Zitadel's SSRF-protected HTTP client, so no egress filtering blocks loopback, RFC1918/internal, or link-local cloud metadata (169.254.169.254) targets. The attacker must control DNS/HTTP for a registered domain so verification redirects to the internal target (reflected by AT:P). Limiting factors: exploitation is gated by valid authenticated access and domain-management permissions, impact is confined to server-side reconnaissance (port scanning, network mapping) rather than data modification, and real confidentiality impact depends on whether sensitive internal/metadata services are actually reachable from the Zitadel instance. |
| Impact | This is a genuinely low-priority issue, and the signals are internally consistent rather than conflicting. The CVSS 4.0 base score of 2.3 (Low) matches the description: although the attack vector is network (AV:N) with low complexity (AC:L), exploitation carries an attack requirement (AT:P) and requires authenticated access (PR:L), and the impact is limited to low confidentiality and low integrity (VC:L/VI:L) with no availability or subsequent-system impact (VA:N/SC:N/SI:N/SA:N). The real-world value to an attacker is reconnaissance - port scanning and internal network mapping via the authentication server - not direct compromise, data theft, or RCE. There is no CISA KEV listing and no public exploit code identified at time of analysis, and no EPSS value was provided in the input, so there is no signal of active or probable widespread exploitation. The one caveat worth verifying: cloud metadata endpoints (e.g., 169.254.169.254) can expose credentials, so the practical confidentiality impact could exceed VC:L if the affected instance runs in a cloud environment with an unprotected metadata service - this should be assessed per deployment rather than assumed from the base score alone. Overall: patch in normal cadence; this is not an emergency. |
| Exploit ScenarioDerived | An authenticated user with permission to manage an organization registers a domain and configures it so the HTTP verification challenge resolves or redirects to an internal address such as a loopback service, a private RDS/Redis host, or a cloud metadata endpoint. Because the challenge fetch uses Go's default http.Get rather than the SSRF-protected client, the Zitadel server issues the request on the attacker's behalf, letting them infer open ports and map reachable internal hosts from server-side timing and responses. No public proof-of-concept was identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 04, 2026
Zitadel deployments before 4.16.2 expose a server-side request forgery (SSRF) path in the organization custom-domain HTTP verification flow, where the challenge fetch uses Go's default http.Get rather than Zitadel's SSRF-protected HTTP client. An authenticated principal holding privileges to create or manage an organization and register a custom domain can point DNS/HTTP for that domain at loopback, RFC1918/internal, or link-local cloud metadata addresses (e.g., 169.254.169.254), causing the Zitadel server to issue requests to those targets and enabling port scanning and internal network mapping. Impact is limited to server-side reconnaissance - there is no data modification, and confidentiality exposure depends on what internal or metadata services are actually reachable from the instance - and no public exploit code has been identified at time of analysis; EPSS and KEV signals are absent, and the scored severity is low (CVSS v4.0 base 2.3; assessed CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N).
RemediationAI
Upgrade Zitadel to 4.16.2 or later - the vendor-released patch version that fixes this SSRF in the organization domain HTTP verification path - following the guidance in advisory GHSA-93hm-8q29-c8cr; no version numbers other than 4.16.2 should be assumed for the fix. Where immediate upgrade is not possible, apply compensating controls with awareness of their trade-offs: restrict the Zitadel service account's outbound network egress with firewall or network-policy rules that deny loopback (127.0.0.0/8, ::1), RFC1918 and other internal ranges, and the link-local metadata range (169.254.0.0/16, specifically 169.254.169.254), accepting that overly broad denial may break legitimate federation, webhook, and SMTP callbacks; on cloud hosts, enforce IMDSv2 and/or block metadata access at the instance or VPC level so that even a successful redirect cannot retrieve credentials, though this requires cloud-platform configuration changes and may affect other instance-role consumers; and tightly restrict which accounts hold organization and custom-domain management permissions so that only trusted administrators can trigger the verification flow, understanding that this reduces the attacker pool but does not eliminate the underlying code flaw. Because exploitation requires only reconnaissance-level impact and no public exploit has been identified, prioritize the patch alongside other low-severity maintenance, but monitor outbound DNS and HTTP verification traffic for redirects toward internal or metadata addresses as a detection measure.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-918 (Server-Side Request Forgery) arising from inconsistent use of hardened HTTP clients: Zitadel's organization domain-verification workflow normally routes outbound requests through a protected client with egress controls, but one code path (fetching the verification challenge) calls Go's default http.Get, which inherits no such filtering and will follow redirects to any reachable address space. Because the attacker controls DNS and the HTTP response for a domain they have registered, they can redirect the verification request to 127.0.0.1, RFC1918 ranges, other internal hosts, or the link-local cloud metadata endpoint 169.254.169.254, turning the Zitadel server into a request proxy for internal reconnaissance. The assessed vector (CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N) reflects that network reachability is remote, complexity is low once privileges exist, but the attacker must already be authenticated with organization and domain-management rights (PR:L), and the scoring change scope is S:C because the vulnerable component mediates requests to other internal components. The CVSS v4.0 vector's AT:P (attack requirements: present) captures the prerequisite that the attacker must control DNS/HTTP for the registered domain so the verification request is redirected to the intended internal target. Affected CPE data identifies the product as cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:* with the fix boundary at version 4.16.2.
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
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Authenticated domain-management access gives PR:L; SSRF reaching internal components warrants S:C with C:L for reconnaissance disclosure, and no genuine integrity or availability impact (I:N/A:N).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Zitadel before 4.16.2 contains a server-side request forgery vulnerability that allows attackers to make the server request internal resources through organization domain HTTP verification. The challenge fetch uses Go's default http.Get instead of the protected client, so attackers can register domains that redirect to loopback, internal, or cloud metadata addresses to scan ports and map internal networks.
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.
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 -
EUVD-2026-92107
GHSA-66r9-3738-gxmw
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB