CVE-2025-46815 json
ZITADEL Allows IdP Intent Token Reuse
published 2025-05-06 18 mo ago modified 2026-06-17 4 mo ago also EUVD-2025-13619 , GHSA-g4r8-mp7g-85fq , GO-2025-3671
- cvss
- 8.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 41%
- public exploits
- 0
- none known
Summary
The identity infrastructure software ZITADEL offers developers the ability to manage user sessions using the Session API. This API enables the use of IdPs for authentication, known as idp intents. Following a successful idp intent, the client receives an id and token on a predefined URI. These id and token can then be used to authenticate the user or their session. However, prior to versions 3.0.0, 2.71.9, and 2.70.10, it was possible to exploit this feature by repeatedly using intents. This allowed an attacker with access to the application’s URI to retrieve the id and token, enabling them to authenticate on behalf of the user. It's important to note that the use of additional factors (MFA) prevents a complete authentication process and, consequently, access to the ZITADEL API. Versions 3.0.0, 2.71.9, and 2.70.10 contain a fix for the issue. No known workarounds other than upgrading are available.
Patch / fix
- go github.com/zitadel/zitadel 2.70.10, 2.71.9, 3.0.0
- zitadel zitadel 2.70.10, 2.71.9, 3.0.0
- govulncheck-vulndb openSUSE Tumbleweed 0.0.20250515T200012-1.1
opensuse advisories openSUSE-SU-2025:15135-1
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 18 mo ago
Exploit prediction
0.47% chance of exploitation in the next 30 days, higher than 41% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.0 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:N |
| GitHub | 3.1 | 8.0 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/zitadel/zitadel | >=3.0.0-rc.1, <3.0.0 <2.70.10 >=2.71.0, <2.71.9 all versions |
3.0.0 2.70.10 2.71.9 |
Affected products
- zitadel zitadel
Classification
References
-
github.com
/zitadel/zitadel/commit/b1e60e7398d677f08b06fd7715227f70b7ca1162
web, patch
-
github.com
/zitadel/zitadel/security/advisories/GHSA-g4r8-mp7g-85fq
web, vendor-advisory, advisory
-
github.com
/zitadel/zitadel/releases/tag/v2.70.10
web, release-notes
-
github.com
/zitadel/zitadel/releases/tag/v2.71.9
web, release-notes
-
github.com
/zitadel/zitadel/releases/tag/v3.0.0
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2025-46815
advisory
-
github.com
/zitadel/zitadel
package
Sources
- CVE List CVE-2025-46815
- GitHub Advisory GHSA-g4r8-mp7g-85fq
- NVD CVE-2025-46815
- OSV GO-2025-3671
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.