Skip to main content

ZITADEL CVE-2025-67717

MEDIUM
Exposure of Sensitive System Information to an Unauthorized Control Sphere (CWE-497)
2025-12-11 security-advisories@github.com
5.3
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with low-privilege account
  2. Exploit
    Call User Service ListUsers endpoint
  3. Execution
    Read totalResult count field
  4. Impact
    Infer instance user population size

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection System info exposure prevention
Exploitation Conditions

Exploitation requires a valid authenticated session (any user, regardless of granted read permissions) on a ZITADEL instance running an affected version (2.44.0-2.71.19, 3.0.0-rc.1-3.4.4, or 4.0.0-rc.1-4.7.1); the attacker invokes the User Service ListUsers query and reads the totalResult field. The flaw is present in the default configuration - the specific limiting/mitigating factor is the permissionCheckV2 feature, which when ENABLED acts as a workaround that correctly scopes totalResult to only users the caller can read, so instances with permissionCheckV2 active are not exposed. Exploitation is otherwise limited only by the need for authentication and yields aggregate count data, not individual user records or PII.

Impact

This is a genuinely low-priority, low-real-risk issue despite a MEDIUM 5.3 CVSS, and the signals are mutually consistent rather than conflicting. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and the single low confidentiality impact (VC:L, VI:N, VA:N, no scope change) correctly describe a minor information-disclosure flaw: a network-reachable but AUTHENTICATED (PR:L) request that leaks only an aggregate count, not individual records or PII. EPSS reinforces this - 0.22% probability at the 12th percentile indicates exploitation is very unlikely to be attempted at scale. There is no CISA KEV listing and no public exploit code, so the honest status is 'no public exploit identified at time of analysis.' No SSVC decision data was provided in the input. One nuance to verify with the vendor: the NVD description states the count is disclosed 'to authenticated users,' while the GHSA advisory summary line says 'unauthorized users' before its own body clarifies 'any authenticated user, regardless of their specific permissions' - the authoritative reading, consistent with PR:L, is that a valid but under-privileged authenticated session is required. The real risk is confined to the fact that an authenticated low-permission principal can learn the total user count of an instance, which is reconnaissance value only.

Exploit ScenarioDerived

An authenticated but low-privileged user (or a tenant member who should not see instance-wide data) calls the ZITADEL User Service ListUsers endpoint and reads the totalResult field in the response, learning the total number of users provisioned in the instance even though they lack read permission over those users. No public proof-of-concept exists; because the vector is network-reachable with low complexity and no user interaction, any valid session token is sufficient to reproduce it against a default configuration.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 14, 2026

Authenticated users on affected ZITADEL instances can retrieve the total number of users in the instance through the User Service ListUsers query, because the response's totalResult field is populated without applying per-caller read permissions. Any valid session - including a low-privilege human or machine user with no granted read rights - is sufficient, making this an unauthenticated-data-free but still permission-bypassing aggregate information disclosure (CWE-497). Affected ranges are 2.44.0 through 2.71.19, 3.0.0-rc.1 through 3.4.4, and 4.0.0-rc.1 through 4.7.1; fixes exist in 3.4.5 and 4.7.2. EPSS is only 0.22% (12th percentile), there is no CISA KEV listing, and no public exploit identified at time of analysis, so despite a MEDIUM 5.3 CVSS 4.0 score this is a low-priority issue that leaks a user count rather than any individual record or PII.

RemediationAI

Vendor-released patch: upgrade to ZITADEL 3.4.5 (covers the 3.x line and, per the advisory, the 2.x line as well - https://github.com/zitadel/zitadel/releases/tag/v3.4.5) or 4.7.2 for the 4.x line (https://github.com/zitadel/zitadel/releases/tag/v4.7.2); the fix itself is upstream commit 826039c6208fe71df57b3a94c982b5ac5b0af12c, referenced from https://github.com/zitadel/zitadel/security/advisories/GHSA-f4cf-9rvr-2rcx. Note that the advisory does not publish a dedicated 2.x patch release, so 2.x operators must either upgrade onto 3.4.5 or apply the workaround. Where a version upgrade is not immediately possible, enable the permissionCheckV2 feature flag on the instance, which causes totalResult to be scoped to users the caller can read; the trade-off is that this changes the permission-evaluation code path instance-wide for all user queries, so it should be validated in staging for latency or behavioral regressions in authorization-sensitive workflows before being rolled out, and it does not address any other latent issue in the affected release. Because exploitation requires only a valid low-privilege authenticated session on the default configuration, throttling or disabling the public User Service ListUsers endpoint for untrusted tenants can reduce exposure as a temporary measure, at the cost of breaking legitimate directory and admin UI user-listing functionality. No public exploit code or active exploitation has been reported, so remediation can be folded into routine patch cycles rather than treated as an emergency.

Affected Packages

go github.com/zitadel/zitadel fix: 1.80.0-v2.20.0.20251210121356-826039c6208f, 3.4.5, 4.7.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package 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 an open-source identity infrastructure platform built around a Go-based User Service exposed over gRPC and REST, with the CPE data (cpe:2.3:a:zitadel:zitadel) confirming the core server product as the affected asset. The root cause class is CWE-497, Exposure of Sensitive System Information to an Unauthorized Control Sphere: the ListUsers query returns a ListDetails object whose TotalResult field reflects the unfiltered instance-wide user count instead of the count of users the caller is permitted to read. The permission-check pipeline used by the list endpoint therefore applies filtering to the returned Result set but not to the aggregate TotalResult metadata, so a caller with no read permissions still observes the true instance total (a human user with no permissions sees TotalResult: 1 for itself while broader queries expose the instance-wide figure). The upstream fix, commit 826039c6208fe71df57b3a94c982b5ac5b0af12c, reworks the user v2 query integration tests and returns a TotalResult scoped to only those users the querying principal has read permission for. An alternative code path, the permissionCheckV2 feature flag, already performs this corrected scoping and is the documented workaround for instances that cannot upgrade.

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 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Network-reachable API callable by any authenticated session (PR:L, AC:L), leaking only an aggregate count so C:L with no integrity or availability impact and no scope change.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

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

DescriptionCVE.org

ZITADEL is an open-source identity infrastructure tool. Versions 2.44.0 through 3.4.4 and 4.0.0-rc.1 through 4.7.1 disclose the total number of instance users to authenticated users, regardless of their specific permissions. While this does not leak individual user data or PII, disclosing the total user count via the totalResult field constitutes an information disclosure vulnerability that may be sensitive in certain contexts. This issue is fixed in versions 3.4.5 and 4.7.2.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Medium
popular open-source identity/IAM platform, common but not ubiquitous
Data Quality
4 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Medium

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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