CVE-2025-67717

4.3 MEDIUM

📋 TL;DR

ZITADEL 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 permissions. This information disclosure vulnerability could reveal sensitive organizational metrics about user base size. All ZITADEL deployments using affected versions are impacted.

💻 Affected Systems

Products:
  • ZITADEL
Versions: 2.44.0 through 3.4.4 and 4.0.0-rc.1 through 4.7.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All ZITADEL deployments using affected versions are vulnerable regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could use user count data for reconnaissance, competitive intelligence gathering, or to estimate organizational size for targeted attacks.

🟠

Likely Case

Authenticated users (including low-privileged ones) can access metrics about total user counts that should be restricted.

🟢

If Mitigated

With proper access controls, only authorized administrators can view user count statistics.

🌐 Internet-Facing: MEDIUM - While not exposing PII, user count data can be valuable intelligence for attackers targeting internet-facing identity systems.
🏢 Internal Only: LOW - Internal-only deployments have reduced risk as attackers would need internal network access first.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but no special permissions. The vulnerability is in the API response structure.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.4.5 and 4.7.2

Vendor Advisory: https://github.com/zitadel/zitadel/security/advisories/GHSA-f4cf-9rvr-2rcx

Restart Required: Yes

Instructions:

1. Backup your ZITADEL configuration and data. 2. Upgrade to ZITADEL 3.4.5 if using v3.x, or 4.7.2 if using v4.x. 3. Restart the ZITADEL service. 4. Verify the fix by checking that authenticated users without proper permissions can no longer access total user counts.

🔧 Temporary Workarounds

API Gateway Filtering

all

Configure API gateway or reverse proxy to filter out totalResult field from responses to unauthorized users

Access Control Enhancement

all

Implement additional authentication middleware to restrict access to user statistics endpoints

🧯 If You Can't Patch

  • Implement network segmentation to restrict access to ZITADEL API endpoints from unauthorized users
  • Monitor and audit access to user statistics endpoints for suspicious patterns

🔍 How to Verify

Check if Vulnerable:

Authenticate to ZITADEL with a low-privilege account and query user-related endpoints to see if totalResult field is returned.

Check Version:

zitadel version (or check ZITADEL admin interface for version information)

Verify Fix Applied:

After patching, verify that low-privilege authenticated users cannot access total user count information via API responses.

📡 Detection & Monitoring

Log Indicators:

  • Multiple requests to user statistics endpoints from non-admin accounts
  • Unusual pattern of user count queries

Network Indicators:

  • API requests to /users or similar endpoints with responses containing totalResult field

SIEM Query:

source="zitadel" AND (endpoint="/api/v1/users" OR endpoint="/users") AND user_role!="admin" AND response_contains="totalResult"

🔗 References

📤 Share & Export