ZITADEL: Session hijacking and IdP token theft via forgeable intent tokens
Summary
ZITADEL, an open-source identity provider, protects IdP intent tokens used for external identity provider logins with encryption that has no integrity check. An authenticated user with a valid account on the same instance can modify their own token so the backend accepts it for another user's pending external login. If the attacker also predicts the victim's intent identifier and wins a timing race, they can read the victim's external IdP tokens or hijack the victim's session. The attack is probabilistic and time-limited, and instances that do not use external identity providers are not affected.
Affected
- ZITADEL 4.0.0 through 4.17.2 (including RC versions)
- ZITADEL 3.0.0 through 3.4.15 (including RC versions)
Fixed in
- ZITADEL 4.x: fixed in 4.17.3
- ZITADEL 3.x: no fix; the 3.x line reached end-of-life on 2026-08-31 according to the vendor advisory. Upgrade to a patched 4.x release.
Workaround
- No configuration fully closes the gap on unpatched versions; upgrading is the recommended solution.
- Partial mitigation for self-hosted deployments: enforce strict rate limits and bot protection in front of the API, which lowers but does not eliminate the risk.
Exploitation
- Exploitation in the wild: Unknown. Not recorded in the CISA Known Exploited Vulnerabilities catalog according to one tracker.
- Public proof of concept: None found.
- CISA SSVC assessment: Exploitation none, not automatable, total technical impact.
- The vendor describes the attack as probabilistic and time-bounded (estimated success of about 1.25 percent within a 15-second window).
Our recommendation
- Upgrade all self-hosted ZITADEL instances to 4.17.3 or later.
- Retire 3.x deployments or migrate them to a patched 4.x release, because no 3.x fix will be provided.
- Check whether ZITADEL is exposed to the internet and used for external IdP login or as SSO for business applications.
- Apply strict rate limits and bot protection in front of the ZITADEL API until the upgrade is complete.
- Review the other ZITADEL vulnerabilities published on the same day and patch them together.
- Monitor authentication logs for unusual intent or session requests.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Security Advisory GHSA-jh3m-cr2x-qp88 github.com
- VulnCheck Advisory: ZITADEL before 4.17.3 Session Hijacking via Forgeable IdP Intent Tokens www.vulncheck.com
- OSV record CVE-2026-105208 osv.dev
- ZITADEL documentation: Login users zitadel.com
- ZITADEL GitHub security advisories github.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 05:40.
Original description (NVD)
ZITADEL 4.x before 4.17.3 and 3.x through 3.4.15 protects IdP intent tokens with unauthenticated, malleable encryption, allowing authenticated users to tamper with their own token so it is accepted for another user's external login intent. An attacker who predicts a victim's in-flight intent identifier and wins a timing race can call /v2/idp_intents or /v2/sessions to steal the victim's IdP tokens or hijack their session.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
