ZITADEL before 4.16.2 Account Pre-Hijacking via Forged External IdP Callback
Impact
ZITADEL before 3.4.14 and 4.x before 4.16.2 has an authentication bypass vulnerability. Unauthenticated attackers can submit forged IDPConfigID and ExternalUserID values to pre-create an account. This allows an attacker to bind a victim's external IdP identity to the pre-created account.
Summarized by @cf/meta/llama-3.3-70b-instruct-fp8-fast. Verify details against the original sources.Affected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
zitadel · VulnCheck
zitadel
2 ranges
zitadel · VulnCheck
zitadel
Compare with this publisher’s ranges. This does not inspect your installation.
affected
4.0.0 → before 4.16.2
semver versions
unaffected
4.16.2
semver versions
Other versions: unaffected
zitadel · VulnCheck
zitadel
2 ranges
zitadel · VulnCheck
zitadel
Compare with this publisher’s ranges. This does not inspect your installation.
affected
0 → before 3.4.14
semver versions
unaffected
3.4.14
semver versions
Other versions: unaffected
Original source description
ZITADEL before 3.4.14 and 4.x before 4.16.2 contains an authentication bypass in the hosted Login V1 UI because the 'external account not found' registration endpoint trusts client-supplied external identity fields without a completed IdP callback. Unauthenticated attackers can submit forged IDPConfigID and ExternalUserID values to pre-create an account bound to a victim's external IdP identity, which the victim's later genuine external login then signs into.
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-105215View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Underlying weaknesses
The source’s classification of what caused the vulnerability.
Environment requirements
These conditions apply together as specified by the publisher. A matching product name alone does not establish exposure.
VulnCheck · platform conditions
Any condition may hold
Vulnerable product
cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*From (inclusive): 4.0.0
Before: 4.16.2
Any condition may hold
Vulnerable product
cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*Before: 3.4.14
Original applicability statements
[
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "4.16.2",
"versionStartIncluding": "4.0.0"
}
]
}
]
},
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "3.4.14"
}
]
}
]
}
]Contributing organizations · 2
Assigning organization
Additional data publisher
What changed
Follow changesLarge field values are marked as truncated previews. Original source snapshots remain retained.