Skip to main content

Zitadel CVE-2025-64102

HIGH
Improper Restriction of Excessive Authentication Attempts (CWE-307)
2025-10-29 security-advisories@github.com
7.7
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify valid Zitadel username
  2. Delivery
    Submit automated password/OTP/TOTP guesses
  3. Exploit
    Bypass absent lockout and rate limiting
  4. Execution
    Guess valid authentication factor
  5. Impact
    Impersonate and take over user account

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Brute-force prevention, rate limiting
Exploitation Conditions

Default-configuration Zitadel instances prior to 4.6.0/3.4.3/2.71.18 are exposed because the lockout ('Password maximum attempts') policy is NOT enabled by default, leaving OTP, TOTP, and password checks without failed-attempt throttling; the newer resource-based APIs lacked the mitigation even where lockout was configured. Exploitation requires network reach to the authentication endpoints and a known target username (and, for second-factor brute force, having passed the preceding factor - hence PR:L). Limiting factors: brute-forcing time-limited 6-digit TOTP/OTP codes is probabilistic rather than guaranteed (AT:P), success is far easier against weak passwords, and administrators who had enabled the optional lockout gained partial protection (at the cost of a DoS risk to the targeted user).

Impact

This is a genuine but second-tier priority. The vendor CVSS 4.0 score is 7.7 (High) with AV:N/AC:L/AT:P/PR:L/UI:N and full VC:H/VI:H/VA:H impact, reflecting that a successful brute-force yields complete takeover of the victim account. However, several signals temper real-world urgency and partly conflict. The AT:P metric (attack requirements present) and PR:L both signal that exploitation is not trivial drive-by abuse: online brute-forcing of TOTP/OTP codes is probabilistic against short-lived 6-digit values, and the attacker generally needs to already be at the relevant authentication step (e.g. know a username, or have passed the first factor for second-factor brute force), which is why PR:L rather than PR:N was assigned. No EPSS score, KEV listing, or public POC was provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation - consistent with a flaw found during a scheduled penetration test (zentrust partners GmbH) rather than discovered in the wild. The 'Denial Of Service' tag is somewhat misleading: the core defect is CWE-307 (improper restriction of excessive authentication attempts), and DoS is only a side effect of the OPTIONAL lockout mitigation, not the primary threat. Net: real and worth patching promptly for any internet-exposed Zitadel instance (default config has NO lockout), but not an emergency absent exploitation evidence.

Exploit ScenarioDerived

An attacker who knows or guesses a target username repeatedly submits password, TOTP, or email/SMS OTP guesses against an internet-facing Zitadel instance that (by default) has no lockout policy enabled. Because failed-attempt throttling was not enforced - and was missing entirely from the newer resource-based APIs - the attacker can eventually guess a valid factor and impersonate the user. No public exploit code is known; success depends on weak secrets and sustained automated guessing against the exposed auth endpoints.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 19, 2026

Online brute-force protection gaps in Zitadel identity infrastructure let remote attackers with a known username repeatedly guess passwords, TOTP codes, and SMS/email OTP codes against default-configured deployments prior to 4.6.0, 3.4.3, and 2.71.18, potentially resulting in account impersonation. The lockout policy that would throttle guesses is disabled by default and was never applied to the newer resource-based session APIs at all, while the vendor's fix (GHSA-xrw9-r35x-x878) enforces the policy everywhere and adds a progressive delay ('tar pit') enabled by default. Rated CVSS v3.1 7.7 (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H) and CVSS v4.0 7.7 by the vendor; no public exploit code was identified at time of analysis and the flaw is not in CISA KEV.

RemediationAI

Vendor-released patch: upgrade to Zitadel 4.6.0 or later on the 4.x line, 3.4.3 or later on the 3.x line, or 2.71.18 or later on the 2.x line; the fix commit is https://github.com/zitadel/zitadel/commit/b8db8cdf9cc8ea13f461758aef12457f8b7d972a with release notes at the v4.6.0, v3.4.3, and v2.71.18 tags and details in https://github.com/zitadel/zitadel/security/advisories/GHSA-xrw9-r35x-x878. The patch enforces the lockout policy across password, TOTP, and OTP checks and enables a default tarpit delay (SystemDefaults.Tarpit: MinFailedAttempts 5, StepDuration 1s, StepSize 5, MaxDuration 10s) that grows with failed attempts; tune these values via ZITADEL_SYSTEMDEFAULTS_TARPIT_* environment variables if the added latency is operationally undesirable. If immediate upgrade is not possible, as an interim mitigation enable the optional lockout policy ('Password maximum attempts') or enforce stricter rate limiting at the reverse proxy or WAF in front of the authentication and session endpoints, accepting the trade-off that lockout can be abused to deny service to a targeted user, and note that these controls may not cover the resource-based session APIs on unpatched builds. Enforce strong password policy and prefer phishing-resistant MFA, since brute force is most practical against weak passwords.

Affected Packages

go github.com/zitadel/zitadel fix: 1.80.0-v2.20.0.20251029090735-b8db8cdf9cc8
go github.com/zitadel/zitadel/v2 fix: 2.71.18

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Zitadel is a Go-based open-source identity and access management platform (go/github.com/zitadel/zitadel) that authenticates users through password checks, TOTP, and email/SMS OTP factors. The weakness is CWE-307 (Improper Restriction of Excessive Authentication Attempts): the platform offers a configurable local lockout policy ('Password maximum attempts') and rate limiting, but the policy defaults to off, and the advisory confirms the mitigation was not wired into the newer resource-based session command paths (session.go, session_otp.go) where CheckPassword, CheckTOTP, CheckOTPSMS, and CheckOTPEmail are evaluated. The upstream fix commit b8db8cdf threads a tarpit function through the session and command layers and introduces SystemDefaults.Tarpit configuration (MinFailedAttempts 5, StepDuration 1s, StepSize 5, MaxDuration 10s), so responses are delayed progressively as failed attempts accumulate. Because TOTP/OTP values are 6-digit and time-limited, successful guessing is probabilistic, whereas weak user passwords are the far more practical target.

Know when Zitadel gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 7.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Network-reachable auth endpoints (AV:N); AC:H because brute-forcing short-lived OTP/TOTP is probabilistic; PR:L as the attacker must reach the relevant factor; full account takeover gives C/I/A:H.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Zitadel is open-source identity infrastructure software. Prior to 4.6.0, 3.4.3, and 2.71.18, an attacker can perform an online brute-force attack on OTP, TOTP, and passwords. While Zitadel allows preventing online brute force attacks in scenarios like TOTP, Email OTP, or passwords using a lockout mechanism. The mechanism is not enabled by default and can cause a denial of service for the corresponding user if enabled. Additionally, the mitigation strategies were not fully implemented in the more recent resource-based APIs. This vulnerability is fixed in 4.6.0, 3.4.3, and 2.71.18.

Executive ViewAI

Why It Matters

Zitadel identity infrastructure deployments configured with default settings prior to versions 4.6.0, 3.4.3, and 2.71.18 are exposed to online brute-force attacks that could lead to account impersonation, putting user identities and downstream systems at risk. Leadership should prioritize patching because compromised identity accounts can enable unauthorized access to sensitive business applications and data. The vendor has released a patch, and no public exploit identified at time of analysis, but the default configuration gap widens the attack surface for any organization using these versions.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Medium
popular cloud-native open-source IdP, moderate but not ubiquitous enterprise adoption
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Affected Products (CPE)CVE.org

cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*
cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*
cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*
CVE-2024-49753 CRITICAL POC
9.1 Oct 25

Zitadel is open-source identity infrastructure software. Rated critical severity (CVSS 9.1), this vulnerability is remot

CVE-2023-49097 HIGH POC
8.8 Nov 30

ZITADEL is an identity infrastructure system. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable

CVE-2026-109372 CRITICAL
9.3 Oct 12

Authentication bypass in ZITADEL 4.x before 4.19.2 and 3.x through 3.4.15 lets an authenticated attacker with organizati

CVE-2026-105207 CRITICAL
9.3 Oct 04

Account takeover in ZITADEL affects instances running 3.0.0 through 3.4.15 and 4.0.0 before 4.17.3: an unauthenticated r

CVE-2026-105209 CRITICAL
9.3 Oct 04

Cross-organization account takeover in ZITADEL 3.x before 3.4.15 and 4.x before 4.17.1 allows an authenticated attacker

CVE-2026-29191 CRITICAL
9.3 Mar 07

Stored XSS in ZITADEL identity management platform versions 4.0.0 to 4.11.1 allows unauthenticated attackers to inject p

CVE-2026-105215 CRITICAL
9.3 Oct 04

Account pre-hijacking in ZITADEL lets an unauthenticated remote attacker create a user record already bound to a victim'

CVE-2026-109373 CRITICAL
9.2 Oct 12

Authentication bypass in ZITADEL's Login V2 UI (versions 3.0.0 through 4.19.1) allows unauthenticated attackers to take

CVE-2026-105211 CRITICAL
9.2 Oct 04

Remote account takeover in ZITADEL versions before 4.17.1 allows unauthenticated attackers to compromise MFA-protected a

CVE-2025-27507 CRITICAL
9.0 Mar 04

The open-source identity infrastructure software Zitadel allows administrators to disable the user self-registration. Ra

CVE-2024-49757 MEDIUM POC
4.9 Oct 25

The open-source identity infrastructure software Zitadel allows administrators to disable the user self-registration. Ra

CVE-2026-109371 HIGH
8.8 Oct 12

Unauthenticated username-change in ZITADEL's hosted Login V1 UI lets a remote attacker rename any active human account -

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy