# CVE-2025-64717: ZITADEL vulnerable to Account Takeover with deactivated Instance IdP

> Attackers can take over accounts by exploiting a flaw that ignores disabled identity provider settings during user auto-linking.

- **Severity:** High 7.4 (`CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N`)
- **Exploited in the wild:** Not known
- **Login needed:** An administrator
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 13 Nov 2025
- **Updated:** 13 Nov 2025
- **Also known as:** GHSA-j4g7-v4m4-77px, GO-2025-4124

## What is CVE-2025-64717?

CVE-2025-64717 is a high-severity authentication bypass vulnerability in zitadel, published on 13 Nov 2025. An attacker needs administrator access to exploit it, with no action from the victim.

### Official description

ZITADEL is an open source identity management platform. Starting in version 2.50.0 and prior to versions 2.71.19, 3.4.4, and 4.6.6, a vulnerability in ZITADEL's federation process allowed auto-linking users from external identity providers to existing users in ZITADEL even if the corresponding IdP was not active or if the organization did not allow federated authentication. This vulnerability stems from the platform's failure to correctly check or enforce an organization's specific security settings during the authentication flow. An Organization Administrator can explicitly disable an IdP or disallow federation, but this setting was not being honored during the auto-linking process. This allowed an unauthenticated attacker to initiate a login using an IdP that should have been disabled for that organization. The platform would incorrectly validate the login and, based on a matching criteria, link the attacker's external identity to an existing internal user account. This may result in a full Account Takeover, bypassing the organization's mandated security controls. Note that accounts with MFA enabled can not be taken over by this attack. Also note that only IdPs create on an instance level would allow this to work. IdPs registered on another organization would always be denied in the (auto-)linking process. Versions 4.6.6, 3.4.4, and 2.71.19 resolve the issue by correctly validating the organization's login policy before auto-linking an external user. No known workarounds are available aside from upgrading.

Weakness: CWE-287 (Improper Authentication)

## Which versions are affected by CVE-2025-64717?

9 open source packages ship an affected version, including github.com/zitadel/zitadel. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `github.com/zitadel/zitadel` | Go | From 1.80.0-v2.20.0.20240403060621-5b3946b67ef6 | 1.80.0-v2.20.0.20251112124840-33c51deb2040 |
| `github.com/zitadel/zitadel` | Go | From 1.80.0-v2.20.0.20240403060621-5b3946b67ef6 | 1.80.0-v2.20.0.20251112124840-33c51deb2040 |
| `github.com/zitadel/zitadel` | Go | From 1.80.0-v2.20.0.20240403060621-5b3946b67ef6 | 1.80.0-v2.20.0.20251112124840-33c51deb2040 |
| `github.com/zitadel/zitadel` | Go | From 2.50.0 | 2.71.19 |
| `github.com/zitadel/zitadel` | Go | From 2.50.0 | 2.71.19 |
| `github.com/zitadel/zitadel` | Go | From 3.0.0-rc.1 | 3.4.4 |
| `github.com/zitadel/zitadel` | Go | From 3.0.0-rc.1 | 3.4.4 |
| `github.com/zitadel/zitadel` | Go | From 4.0.0-rc.1 | 4.6.6 |
| `github.com/zitadel/zitadel` | Go | From 4.0.0-rc.1 | 4.6.6 |

Products: Zitadel Zitadel.

## How do I fix CVE-2025-64717?

Upgrade github.com/zitadel/zitadel to a fixed version for your release line: 1.80.0-v2.20.0.20251112124840-33c51deb2040, 2.71.19, 3.4.4 or 4.6.6.

## Is CVE-2025-64717 being exploited?

There is no known exploitation of CVE-2025-64717 in the wild and no public exploit code.

## Other vulnerabilities in zitadel

- [CVE-2026-29191](https://insights.sbomify.com/CVE-2026-29191/): ZITADEL: 1-Click Account Takeover via XSS in /saml-post Endpoint (critical 9.3)
- [CVE-2025-67494](https://insights.sbomify.com/CVE-2025-67494/): ZITADEL Vulnerable to Unauthenticated Full-Read SSRF via V2 Login (critical 9.3)
- [CVE-2025-27507](https://insights.sbomify.com/CVE-2025-27507/): IDOR Vulnerabilities in ZITADEL's Admin API that Primarily Impact LDAP Configurations (critical 9.0)
- [CVE-2025-64103](https://insights.sbomify.com/CVE-2025-64103/): Zitadel Bypass Second Authentication Factor (high 8.7)
- [CVE-2025-31123](https://insights.sbomify.com/CVE-2025-31123/): Zitadel Expired JWT Keys Usable for Authorization Grants (high 8.7)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2025-64717 and fix it if it is affected.

What it is: CVE-2025-64717 is a high-severity authentication bypass vulnerability in zitadel, published on 13 Nov 2025. An attacker needs administrator access to exploit it, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2025-64717 in the wild and no public exploit code.

Affected packages and fixed versions:
- github.com/zitadel/zitadel (Go): affected from 1.80.0-v2.20.0.20240403060621-5b3946b67ef6; fixed in 1.80.0-v2.20.0.20251112124840-33c51deb2040
- github.com/zitadel/zitadel (Go): affected from 1.80.0-v2.20.0.20240403060621-5b3946b67ef6; fixed in 1.80.0-v2.20.0.20251112124840-33c51deb2040
- github.com/zitadel/zitadel (Go): affected from 1.80.0-v2.20.0.20240403060621-5b3946b67ef6; fixed in 1.80.0-v2.20.0.20251112124840-33c51deb2040
- github.com/zitadel/zitadel (Go): affected from 2.50.0; fixed in 2.71.19
- github.com/zitadel/zitadel (Go): affected from 2.50.0; fixed in 2.71.19
- github.com/zitadel/zitadel (Go): affected from 3.0.0-rc.1; fixed in 3.4.4
- github.com/zitadel/zitadel (Go): affected from 3.0.0-rc.1; fixed in 3.4.4
- github.com/zitadel/zitadel (Go): affected from 4.0.0-rc.1; fixed in 4.6.6
- github.com/zitadel/zitadel (Go): affected from 4.0.0-rc.1; fixed in 4.6.6

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2025-64717/ (Markdown: https://insights.sbomify.com/CVE-2025-64717/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2025-64717
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-64717
- OSV: https://osv.dev/vulnerability/CVE-2025-64717

---
From sbomify Insights: https://insights.sbomify.com/CVE-2025-64717/
Summaries are generated and may contain mistakes; the official description above is the record.
