Security Digest · Vulnerability record
CVE-2026-29191: ZITADEL has 1-Click Account Takeover via XSS in /saml-post Endpoint
ZITADEL is an open source identity management platform.
CVSS 9.3 Critical EPSS 0.4% · p33
Should you act?
Critical and remotely reachable
No known exploitation yet, but it is network-reachable without credentials. This signal is computed from CISA KEV, EPSS and CVSS data; it is not an editorial verdict.
- No confirmed exploitation. It is not in CISA’s KEV catalog and CISA’s SSVC assessment records no known exploitation. That can change quickly after a public write-up; re-check if you are affected.
- EPSS 0.4%, percentile 33: FIRST’s model estimates a 0.4% chance of exploitation activity in the next 30 days, higher than 33% of all scored CVEs (low). EPSS is a probability, not a verdict.
- Needs a user to click or open something. Phishing makes that realistic, but it is not wormable.
- Only applies if your dependency tree includes
github.com/zitadel/zitadel(Go) >= 4.0.0, < 4.12.0, fixed in 4.12.0;github.com/zitadel/zitadel/v2(Go) >= 4.0.0, < 4.12.0, fixed in 4.12.0. Check your lockfile, including transitive dependencies.
What it is
ZITADEL is an open source identity management platform. From version 4.0.0 to 4.11.1, a vulnerability in Zitadel's login V2 interface was discovered that allowed a possible account takeover via XSS in /saml-post Endpoint. This issue has been patched in version 4.12.0.
From the GitHub advisory
Summary
A vulnerability was discovered in Zitadel's login V2 interface that allowed a possible account takeover.
Impact
Zitadel exposes an HTTP endpoint named /saml-post. This endpoint is used for handling requests to SAML IdPs and accepts two HTTP GET parameters: url and id. When these parameters are supplied, users’ browsers auto-submit an HTTP POST request to the provided url parameter.
The endpoint insecurely redirects users using the provided url GET parameter. As a result, by specifying a javascript: scheme, malicious JS code could be executed on Zitadel users’ browsers.
Weakness type: CWE-79.
Product: github.com/zitadel/zitadel (Go) · Assigned by: GitHub_M · Published: 2026-03-07
Affected and fixed versions
| Ecosystem | Package | Vulnerable | First fixed |
|---|---|---|---|
| Go | github.com/zitadel/zitadel | >= 4.0.0, < 4.12.0 | 4.12.0 |
| Go | github.com/zitadel/zitadel/v2 | >= 4.0.0, < 4.12.0 | 4.12.0 |
| Vendor | Product | Affected versions (per CVE record) |
|---|---|---|
| zitadel | zitadel | >= 4.0.0, < 4.12.0 |
Severity scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| GitHub_M | 3.1 | 9.3 Critical | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N |
| GitHub | 3.1 | 9.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N |
- Attack vector: network (remotely reachable)
- Attack complexity: low
- Privileges required: none (no login)
- User interaction: required (a user must click/open something)
- Scope: changed (can affect other components)
CVSS measures how bad a flaw is if exploited, not how likely exploitation is. Read it next to the exploitation data below.
Exploitation and urgency
- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation none, automatable no, technical impact total.
- FIRST EPSS (model of 2026-10-21): 0.40% probability of exploitation activity in the next 30 days; percentile 33.
Timeline
- — GitHub-reviewed advisory GHSA-pr34-2v5x-6qjq published (critical)
- — CVE record published by GitHub_M
- — CVE record last updated
Sources and references
Original sources first. Version and fix details should always be confirmed against the vendor or project advisory.
Vulnerability records
- GitHub Advisory GHSA-pr34-2v5x-6qjq github.com
- CVE.org record CVE-2026-29191 cve.org
- NVD entry CVE-2026-29191 nvd.nist.gov
Other references from the CVE record and advisory
- github.com github.com