Zulip Server Private Channel Name Leak Vulnerability via Inactive Status Notifications

Vulnerability

A vulnerability in Zulip Server's channel activity management can lead to unintended exposure of private channel names. The issue arises from a cron job that marks channels as 'inactive' after 180 days of inactivity. When this happens, an event is sent to all users in the organization, not just those subscribed to the channel, leaking the name of the private channel. Additionally, the same update process can inadvertently disclose private channel names to all organization users when a message is sent to a channel that has been inactive for over 180 days. This vulnerability exists in the 'main' branch and was not included in any released versions.

Impact

Exploitation of this vulnerability results in the unintentional disclosure of private channel names to all users in the organization, rather than just to channel subscribers.

Reproduction

1. In Zulip Server, create a private channel and ensure it has no activity for over 180 days. 2. The weekly cron job will automatically mark the channel as 'inactive' and send a notification to all users in the organization, leaking the channel name. 3. To reproduce the second part of the vulnerability, send a message to the private channel after it has been inactive for over 180 days. This will trigger an event that also leaks the channel name to all organization users.

Remediation

Users can update to Zulip Server version 10.0-dev at commit 75be449d456d29fef27e9d1828bafa30174284b4, where this vulnerability has been fixed.

Added: Jun 9, 2025, 7:46 PM
Updated: Jun 9, 2025, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
3.1
impact
0.6
exploitability
6.3
remediation
7.7
relevance
0.0
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.