Skip to main content

ZITADEL EUVDEUVD-2026-42958

| CVE-2026-55669 MEDIUM
Origin Validation Error (CWE-346)
2026-06-18 https://github.com/zitadel/zitadel GHSA-g5h5-m4hm-xjrr
4.2
CVSS 3.1 · Vendor: https://github.com/zitadel/zitadel
Share

Severity by source

Vendor (https://github.com/zitadel/zitadel) PRIMARY
4.2 MEDIUM
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
vuln.today AI
4.2 MEDIUM

Network-reachable endpoint, but AC:H captures the rare cross-service topology prerequisite; PR:L because attacker must be authenticated to a co-tenant service on the shared IdP.

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

Primary rating from Vendor (https://github.com/zitadel/zitadel).

CVSS VectorVendor: https://github.com/zitadel/zitadel

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

3
Source Code Evidence Fetched
Jun 18, 2026 - 14:31 vuln.today
Analysis Generated
Jun 18, 2026 - 14:31 vuln.today
CVE Published
Jun 18, 2026 - 13:52 github-advisory
MEDIUM 4.2

DescriptionCVE.org

Summary

An authentication bypass vulnerability was discovered in ZITADEL's external JWT Identity Provider (IdP) implementation.

When validating JSON Web Tokens (JWTs) from an external provider, ZITADEL properly checks the token's cryptographic signature and issuer (iss), but it fails to validate the audience (aud) claim.

As a result, any validly signed token from the trusted issuer will be accepted. An attacker who is a legitimate user of a completely separate service sharing the same enterprise Identity Provider can intercept or present their token for that service to ZITADEL, successfully authenticating as that user without authorization.

Impact

In a controlled enterprise environment where Identity Providers are explicitly managed, the operational risk is localized. Exploitation requires that an attacker already possesses a valid standard user session token from a shared, trusted issuer intended for an entirely different relying party, limiting the vector to specific, rare cross-service setups where trust boundaries overlap.

Affected Versions

Systems running one of the following versions are affected:

  • 4.x: 4.0.0 through 4.11.0 (including RC versions)
  • 3.x: 3.0.0 through 3.4.11 (including RC versions)

Patches

The vulnerability has been addressed in the latest releases, where a required audience can be set in the IdP configuration. Once provided, audience validation will be enforced.

Workarounds

The recommended solution is to update ZITADEL to a patched version.

If an immediate upgrade is not possible, you can mitigate the risk at the infrastructure layer:

  1. At the IdP: Ensure the external Identity Provider issues scoped tokens with highly unique, non-overlapping audience values that cannot be misconstrued by separate service deployments.
  2. At the Perimeter: Deploy a reverse proxy, API gateway, or Web Application Firewall (WAF) layer in front of ZITADEL to inspect incoming identity tokens and explicitly drop requests where the aud field does not strictly match ZITADEL's deployment target.

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 Android-Login-Analysis, Jason Zhou and Pedro Giglioti for reporting this vulnerability.

AnalysisAI

Authentication bypass in ZITADEL's external JWT Identity Provider allows a legitimate user of a co-tenant service sharing the same enterprise IdP to authenticate to ZITADEL using a token issued for a different relying party. Affected versions span ZITADEL 3.0.0-3.4.11 and 4.0.0-4.11.0; the flaw arises because ZITADEL correctly validates the JWT cryptographic signature and iss claim but entirely omits validation of the aud claim, violating RFC 7519 audience binding semantics. No public exploit has been identified at time of analysis, and exploitation is tightly constrained to specific enterprise topologies where multiple services share a single trusted IdP.

Technical ContextAI

ZITADEL is an open-source identity and access management platform written in Go (CPE: pkg:go/github.com/zitadel/zitadel). Its external JWT IdP feature allows enterprise deployments to federate authentication by accepting JWTs from an existing upstream Identity Provider. RFC 7519 defines the aud claim as the authoritative binding between a token and its intended recipient; failing to validate it constitutes CWE-346 (Origin Validation Error), allowing tokens scoped to any relying party registered with the same issuer to be accepted. The patch commit d184e976fc79 confirms the root cause: a new audience field was added to the JWT IdP domain struct, a database migration (step 71, SQL: ALTER TABLE projections.idp_templates6_jwt ADD COLUMN audience text) was introduced to store it, and enforcement logic was wired into the JWT validation path. The Angular console UI was also updated to expose the new optional audience configuration field to administrators.

RemediationAI

Vendor-released patches are available: upgrade ZITADEL 3.x deployments to version 3.4.12 or later (https://github.com/zitadel/zitadel/releases/tag/v3.4.12) and ZITADEL 4.x deployments to version 4.15.2 or later (https://github.com/zitadel/zitadel/releases/tag/v4.15.2). After upgrading, administrators must explicitly configure the audience field in each JWT IdP configuration to enforce validation - the patch makes the field available but does not retroactively enforce it on existing configurations without administrator action. If an immediate upgrade is not feasible, two compensating controls can reduce exposure: at the upstream IdP layer, configure the external Identity Provider to issue tokens with unique, non-overlapping audience values per relying party so that tokens issued for other services cannot be misconstrued as ZITADEL-bound - this requires control over the upstream IdP and may not be immediately actionable; at the perimeter, deploy a reverse proxy or WAF in front of ZITADEL to inspect the aud claim in incoming identity tokens and reject requests where the audience does not strictly match ZITADEL's deployment target - this requires TLS inspection capability and adds operational complexity but provides an independent enforcement boundary.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Server 16.1 Affected
SUSE Linux Enterprise Server for SAP applications 16.1 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP5 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP6 Affected
openSUSE Leap 15.5 Affected

Share

EUVD-2026-42958 vulnerability details – vuln.today

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