Skip to main content

Zulip Server CVE-2026-102893

| EUVDEUVD-2026-101287 CRITICAL
Improper Authentication (CWE-287)
2026-10-14 security-advisories@github.com
9.1
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Identify Zulip instance using OIDC SSO
  2. Delivery
    Cause misconfigured IdP to assert victim email
  3. Exploit
    IdP returns email_verified=false claim
  4. Execution
    Zulip matches delivery_email, skips rejection
  5. Impact
    Logged into victim account (takeover)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires the Zulip server to be configured with GenericOpenIdConnectBackend (OIDC single sign-on) AND the configured trusted identity provider to be misconfigured such that it returns an email address the authenticating user does not control together with an explicit email_verified=false claim. The key limiting factors: OIDC SSO must be enabled; the authoritative IdP must emit email addresses not owned by the authenticating user - deployments whose IdP only emits user-controlled emails are explicitly not affected; and a target account with a matching delivery_email must already exist. This is a server-side/operator misconfiguration precondition outside the attacker's direct control (reflected as AT:P in the 4.0 vector), not a flaw triggerable against a correctly configured default OIDC deployment.

Impact

The input CVSS 4.0 base score is 9.1 (Critical) with vector AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N, and the weakness is an authentication bypass (CWE-287). The single most important signal is AT:P (Attack Requirements: Present), which the vendor uses to encode the explicit precondition that the deployment must run GenericOpenIdConnectBackend behind a misconfigured or untrustworthy identity provider - the description states deployments whose IdP only emits user-controlled email addresses are NOT affected. This materially lowers real-world risk below what the headline 9.1 implies: although PR:N/UI:N suggest trivial remote unauthenticated takeover, exploitation is gated on an attacker-uncontrollable server-side misconfiguration. No EPSS score was provided in the input, there is no CISA KEV listing, and no public proof-of-concept was supplied - so exploitation status is: no public exploit identified at time of analysis. A patch is confirmed available (12.2) and the fix commit/diff is public, which raises the theoretical likelihood of exploit development over time, but the conditional precondition keeps this closer to a targeted/niche issue than a mass-exploitable one. Net: treat as a high-priority patch for any Zulip deployment that uses OIDC SSO, but a non-issue for deployments not using GenericOpenIdConnectBackend or whose IdP is correctly configured. Conflicting-signal note: the raw CVSS vector reads as easy remote unauth exploitation, but the AT:P flag and the description's precondition should be read together as a significant real-world limiter - verify your IdP's email_verified behavior rather than relying on the 9.1 alone.

Exploit ScenarioDerived

A Zulip server is configured with a single trusted OpenID Connect provider that is misconfigured to emit arbitrary email addresses with email_verified=false. An attacker who can obtain any account on (or influence) that IdP causes it to assert a victim's email address with email_verified=false; because Zulip (≤12.1) matched the email claim to an existing account's delivery_email without rejecting the false verification claim, the attacker is logged straight into the victim's Zulip account. No public exploit code was provided in the input, but the fix diff is publicly visible in the GitHub commits and GHSA advisory.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
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 14, 2026

Authentication bypass in Zulip Server through 12.1 can log an attacker into an existing user account when OIDC single sign-on is configured with a misconfigured identity provider. The GenericOpenIdConnectBackend matches the IdP's email claim against an active account's delivery_email without rejecting an explicit email_verified=false, so a user who does not control that address can be authenticated as the account that owns it. Exploitation requires OIDC SSO to be enabled, a trusted IdP that emits email addresses the authenticating user does not control, and a pre-existing account whose delivery_email matches that address; deployments whose IdP only emits user-controlled addresses are explicitly not affected. The vendor fixed the flaw in Zulip Server 12.2, unauthenticated remote exploitation is rated Critical (CVSS 4.0 9.1, AT:P), and no public exploit has been identified at time of analysis.

RemediationAI

Upgrade to Zulip Server 12.2, the vendor-released patch version, per https://github.com/zulip/zulip/releases/tag/12.2 and advisory https://github.com/zulip/zulip/security/advisories/GHSA-xw9h-9rcm-hx4m; the fix is contained in commits 68d2d9defa39f8af96a50fc7430efc34dee120b5 and b40f191a8c71e74fcb471f71de6a1233de157102. If an immediate upgrade is not possible, the practical compensating controls are operator-side: verify that the configured OIDC IdP never emits email addresses the authenticating user does not own (this is the precise precondition, so confirming the IdP's email source removes the exposure entirely), or require the IdP to assert email_verified=true for addresses it does control - noting the patched backend still accepts emails when the optional claim is absent, so simply removing the claim does not help; temporarily disabling GenericOpenIdConnectBackend / OIDC SSO stops the bypass but locks out all SSO users and forces local-password or alternative-login fallback; audit existing accounts' delivery_email values and remove or re-verify any that could be asserted by an untrusted or permissive IdP, since a matching existing account is required for takeover. Because the flaw is an authentication bypass, prioritize patching any instance where OIDC is enabled and the trusted IdP's email semantics have not been verified.

Affected VersionsENISA

zulip < 12.2

Affected Packages

euvd zulip fix: 12.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

The flaw is CWE-287 (Improper Authentication) in Zulip's GenericOpenIdConnectBackend, the backend used when an operator configures a single, administrator-trusted OpenID Connect identity provider rather than the shared social IdPs (Google/GitHub). OIDC conveys the user's email in either the UserInfo response or the ID token, and the spec defines an optional 'email_verified' boolean claim; the pre-fix code did not inspect that claim when resolving the social-auth email to a local account via delivery_email, so an IdP that explicitly asserted email_verified=false could still be trusted to bind a session to an account the authenticating user does not own. The upstream patch adds a get_verified_emails override that returns an empty list when email_verified is present and false (rejecting the login), while deliberately still accepting emails when the optional claim is absent, on the rationale that a reasonably configured generic OIDC IdP is a single trusted source. Because generic OIDC IdPs are operator-selected and explicitly trusted, the trigger is an operator-side misconfiguration outside the attacker's direct control (reflected as Attack Requirements: Present in the 4.0 vector and AC:H in the independent 3.1 assessment). The change is covered by two commits (68d2d9defa39f8af96a50fc7430efc34dee120b5 and b40f191a8c71e74fcb471f71de6a1233de157102), PR 39913, and the 12.2 release.

Know when Zulip 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 9.1 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.4 HIGH

Exploitation hinges on an attacker-uncontrollable misconfigured IdP, so AC:H; the attacker needs no prior Zulip privileges (PR:N); account takeover yields high confidentiality and integrity, no availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/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
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 14, 2026 - 17:18 EUVD
CVE Published
Oct 14, 2026 - 16:17 cve.org
CRITICAL 9.1

DescriptionCVE.org

Zulip is an open-source team collaboration tool. In Zulip Server versions through 12.1, GenericOpenIdConnectBackend matches the identity provider email claim to an active account's delivery_email without rejecting an explicitly false email_verified claim. If a configured identity provider returns an email address that the authenticating user does not control together with email_verified=false, Zulip can log the user into the existing account for that address. Exploitation requires a misconfigured trusted identity provider, and deployments whose authoritative identity provider only emits email addresses controlled by the authenticating user are not affected. This issue is fixed in version 12.2.

Technical POC Analysis

Bug class: CWE-287 Improper Authentication.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Zulip Server versions through 12.1 are affected by a critical authentication bypass (CVE-2026-102893, CVSS 9.1) that allows an attacker to log into an existing user account when OIDC single sign-on is configured with a misconfigured identity provider. This vulnerability poses a severe risk to organizations using OIDC SSO, as it could enable unauthorized access to sensitive data and privileged functions; no public exploit identified at time of analysis, but leadership should act promptly to apply the vendor's fix (version 12.2) and review identity provider configurations.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Low
niche self-hosted open-source team chat, modest production footprint
Data Quality
6 sources
Confidence: High

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Zulip

View all
CVE-2021-41115 MEDIUM POC
6.5 Oct 07

Zulip is an open source team chat server. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable,

CVE-2022-21706 CRITICAL
9.8 Feb 26

Zulip is an open-source team collaboration tool with topic-based threading. Rated critical severity (CVSS 9.8), this vul

CVE-2019-18933 CRITICAL
9.8 Nov 21

In Zulip Server versions from 1.7.0 to before 2.0.7, a bug in the new user signup process meant that users who registere

CVE-2020-10935 MEDIUM POC
5.4 Apr 20

Zulip Server before 2.1.3 allows XSS via a Markdown link, with resultant account takeover. Rated medium severity (CVSS 5

CVE-2017-0910 HIGH
8.8 Nov 27

In Zulip Server before 1.7.1, on a server with multiple realms, a vulnerability in the invitation system lets an authori

CVE-2022-31168 HIGH
8.8 Jul 22

Zulip is an open source team chat tool. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, low

CVE-2020-15070 HIGH
8.8 Aug 21

Zulip Server 2.x before 2.1.7 allows eval injection if a privileged attacker were able to write directly to the postgres

CVE-2025-31478 HIGH
8.2 Apr 16

Zulip is an open-source team collaboration tool. Rated high severity (CVSS 8.2), this vulnerability is remotely exploita

CVE-2019-10476 HIGH
7.8 Oct 23

Jenkins Zulip Plugin 1.1.0 and earlier stored credentials unencrypted in its global configuration file on the Jenkins ma

CVE-2024-36612 HIGH
7.5 Nov 29

Zulip from 8.0 to 8.3 contains a memory leak vulnerability in the handling of popovers. Rated high severity (CVSS 7.5),

CVE-2020-14215 HIGH
7.5 Aug 21

Zulip Server before 2.1.5 has Incorrect Access Control because 0198_preregistrationuser_invited_as adds the administrato

CVE-2022-24751 HIGH
7.4 Mar 16

Zulip is an open source group chat application. Rated high severity (CVSS 7.4), this vulnerability is remotely exploitab

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