Overview
The Common Vulnerabilities and Exposures (CVE) system has recently identified a significant vulnerability, tagged as CVE-2025-31478, in the Zulip team collaboration tool. This open-source software facilitates team collaboration, but it is currently suffering from a notable bug that allows the creation of unauthorized accounts. This vulnerability specifically affects organizations that use Zulip and have disabled the EmailAuthBackend, thus relying on Single Sign-On (SSO) authentication. The issue is critical as it can lead to potential system compromise or data leakage, thereby posing severe threats to the security and privacy of the affected organizations.
Vulnerability Summary
CVE ID: CVE-2025-31478
Severity: High (CVSS: 8.2)
Attack Vector: Network
Privileges Required: None
User Interaction: None
Impact: System compromise or data leakage
Affected Products
Escape the Surveillance Era
Most apps won’t tell you the truth.
They’re part of the problem.
Phone numbers. Emails. Profiles. Logs.
It’s all fuel for surveillance.
Ameeba Chat gives you a way out.
- • No phone number
- • No email
- • No personal info
- • Anonymous aliases
- • End-to-end encrypted
Chat without a trace.
Product | Affected Versions
Zulip Server | Prior to 10.2
How the Exploit Works
The exploit takes advantage of a flaw in the Zulip server’s authentication system. Specifically, when the EmailAuthBackend is disabled, Zulip relies on SSO authentication. However, the bug allows an attacker to bypass this SSO requirement and create an account without an SSO authenticated backend. This unauthorized account creation can potentially grant an attacker access to sensitive data or control over the compromised system.
Conceptual Example Code
In a conceptual scenario, an attacker may send a HTTP POST request to the Zulip server’s account creation endpoint. The malicious request might look something like this:
POST /api/v1/accounts/create HTTP/1.1
Host: zulip-vulnerable-server.com
Content-Type: application/json
{
"email": "attacker@malicious.com",
"password": "password123",
"realm": "org_zulip"
}
In this example, “attacker@malicious.com” is the email the attacker is trying to register, “password123” is the desired password, and “org_zulip” is the organization the attacker is attempting to infiltrate.
Workaround and Mitigation
The recommended mitigation for this vulnerability is to apply the vendor-supplied patch, which is included in Zulip Server version 10.2. In the interim, organizations can use a Web Application Firewall (WAF) or Intrusion Detection System (IDS) to help mitigate the vulnerability. Additionally, requiring invitations to join the organization can prevent the vulnerability from being exploited.