---
id: CVE-2026-54693
aliases:
  - GHSA-jq8w-8q2f-ffm9
title: ZITADEL Users Can Self-Verify Email/Phone via API
summary: ZITADEL Users Can Self-Verify Email/Phone via API
severity: high
cwe:
  - CWE-863
vendor: zitadel
product: github.com/zitadel/zitadel
ecosystem: go
affected:
  - 'github.com/zitadel/zitadel >= 4.0.0, < 4.15.1'
  - 'github.com/zitadel/zitadel >= 2.43.0, < 3.4.11'
  - github.com/zitadel/zitadel < 1.80.0-v2.20.0.20260608144108-ed09b3df7f43
patched:
  - github.com/zitadel/zitadel 1.80.0-v2.20.0.20260608144108-ed09b3df7f43
published: '2026-07-29'
updated: '2026-07-29'
source: GHSA
sourceUrl: 'https://github.com/advisories/GHSA-jq8w-8q2f-ffm9'
references:
  - url: 'https://github.com/zitadel/zitadel/security/advisories/GHSA-jq8w-8q2f-ffm9'
  - url: >-
      https://github.com/zitadel/zitadel/commit/90f310212d3a5075084a603bf61fed549c92956d
  - url: >-
      https://github.com/zitadel/zitadel/commit/a1748b2f0326ddf7be0de44b4f980ae2c07c0151
  - url: >-
      https://github.com/zitadel/zitadel/commit/ed09b3df7f43e870423e4d8f2757e6894481604f
  - url: 'https://github.com/zitadel/zitadel/releases/tag/v3.4.11'
  - url: 'https://github.com/zitadel/zitadel/releases/tag/v4.15.1'
  - url: 'https://github.com/advisories/GHSA-jq8w-8q2f-ffm9'
tags:
  - ghsa
  - go
ingestedAt: '2026-07-29T17:48:50.147Z'
epss: 0.00343
epssPercentile: 0.27913
---

## Overview

### Summary

A vulnerability in Zitadel's self-management capability allowed users to mark their email and phone as verified without going through an actual verification process.

While [`GHSA-282g-fhmx-xf54`](https://github.com/zitadel/zitadel/security/advisories/GHSA-282g-fhmx-xf54) (CVE-2026-27946, "Users Can Self-Verify Email/Phone via UpdateHumanUser API") closed the path that let any authenticated user mark an arbitrary email or phone as verified on their own account by calling `UpdateHumanUser` with `email.is_verified: true`, additional paths were discovered.

### Impact 

Zitadel provides an API for managing users. The API also allows users to self-manage their own data including updating the email and phone.

Due to an improper permission check, the API allowed returning the verification code for the email and phone to the own user.
This allows users to claim ownership of an email or phone they do not control and potentially bypass email-based security policies.

Note that when changing another user's email or phone, regardless of the verification flag, the permissions were correctly checked.

### Affected Versions

Systems running one of the following versions are affected:
- **4.x**: `4.0.0` through `4.15.0` (including RC versions)
- **3.x**: `3.0.0` through `3.4.10` (including RC versions)
- **2.x**: `2.43.0` through `2.71.19`

### Patches

The vulnerability has been addressed in the latest releases. The patch resolves the issue by requiring the correct permission in case the verification flag is provided and only allows self-management of the email address, resp. phone number itself.

4.x: Upgrade to >=[4.15.1](https://github.com/zitadel/zitadel/releases/tag/v4.15.1)
3.x: Update to >=[3.4.11](https://github.com/zitadel/zitadel/releases/tag/v3.4.11)
2.x: Update to >=[3.4.11](https://github.com/zitadel/zitadel/releases/tag/v3.4.11)

### Workarounds

The recommended solution is to upgrade to a patched version. If an upgrade is not possible, an action (v2) could be used to prevent returning the verification code to the own user.

### Questions

If you have any questions or comments about this advisory, please email us at [security@zitadel.com](mailto:security@zitadel.com)


### Credits

Thanks to [eddieran](https://github.com/eddieran) for reporting this vulnerability.

## Affected packages

- `github.com/zitadel/zitadel >= 4.0.0, < 4.15.1`
- `github.com/zitadel/zitadel >= 2.43.0, < 3.4.11`
- `github.com/zitadel/zitadel < 1.80.0-v2.20.0.20260608144108-ed09b3df7f43`

## Remediation

Upgrade to a patched release:

- `github.com/zitadel/zitadel 1.80.0-v2.20.0.20260608144108-ed09b3df7f43`
