Skip to content

Zulip

Bug bounty on Sorona zulip.com

Accepting reports open-source
Top reward
$1,500
Top severity paid
Critical
Assets in scope
15
Public CVEs
60
Last change
No changes yet

At a glance

What to know before you start testing.

Pays from $1,500
for critical bugs.
Partial safe harbor
Some legal protection; read the terms.
Replies within 2 days
As the policy promises.
Publish after a fix
Coordinate the timing with the company.

Rewards

What Sorona lists as the payout for each severity.

Severity Reward
Critical $1,500+
High $700+
Medium $300+
Low $100 $100 / 1 month Claude Max
Response
Within 2 days The policy commits to acknowledging a report within two business days
Safe harbor
Partial Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party

Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original

Scope

15 assets you may test, 6 excluded.

Web 1

  • https://zulip.com

Products and areas 14

  • Authentication backends: password, LDAP, SAML, OIDC and social login, along with session handling and the invitation flow
  • Channel and direct message access control, covering private channels, the checks applied when a user joins or is added, and guest users, who are the lowest-trust account the product issues
  • File upload and attachment serving, including the access check applied when an attachment URL is requested
  • Integrations and incoming webhooks, the surface that accepts data from external systems and turns it into messages
  • Markdown rendering, link preview generation and any other path where the server fetches a URL a user supplied
  • Message editing, deletion and the moderation controls layered over them
  • Message history visibility rules, including what a newly added member can read and what happens when a channel's policy changes
  • The Electron desktop client, particularly its handling of untrusted message content and its update path
  • The Flutter mobile client, including deep link handling and notification processing
  • The mobile push notification bouncer, which relays notifications on behalf of self-hosted servers
  • The organisation settings and administration surface, including user role changes and the export and import machinery
  • The policy declares its in-scope surface as the Zulip server together with the Electron desktop application and the Flutter mobile application, and takes reports on all three through the same channels. Nothing narrower is carved out
  • The realm boundary on a server hosting several organisations, where a realm is one organisation's whole message history
  • The REST API in full, plus API keys, bot accounts and the bot token model
Out of scope (6)
  • An organisation permission or channel policy an administrator set deliberately
  • Public disclosure before the coordinated release, which the policy's process rules out
  • Self-hosting and deployment configuration, including a server run against the documented installation guidance
  • Testing against live instances holding other organisations' private conversations
  • Third-party integrations' own systems, which are separate estates rather than Zulip code
  • Upstream Python, Django and JavaScript dependency issues, unless Zulip's own use of the dependency is what makes the defect reachable

Rules

What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy.

While testing

  • Submit through sorona.xyz.
  • Report privately to the address on the policy page , the channel open to anyone.
  • The declared surface covers the server plus the Electron desktop client and the Flutter mobile client. Say which one you tested
  • State which you reproduced on
  • Hold the detail until the release is out

Not accepted

  • Upstream Python, Django and JavaScript dependency issues, unless Zulip's own use of the dependency is what makes the defect reachable
  • Self-hosting and deployment configuration, including a server run against the documented installation guidance
  • An organisation permission or channel policy an administrator set deliberately
  • Public disclosure before the coordinated release

Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original

Changes

Tracked since 11 Nov 2026. Last checked 1 hour ago.

No changes yet. When the rewards or scope move, you will see it here and in the RSS feed.

Public CVEs

Published vulnerabilities in this vendor's products, from the NVD.

Search NVD
CVESeverityPublished
CVE-2026-40300 Medium 6.0 12 May 2026
CVE-2026-25742 Medium 5.3 3 Apr 2026
CVE-2026-26058 Medium 6.1 3 Apr 2026
CVE-2026-24050 Low 1.1 6 Feb 2026
CVE-2025-52559 Medium 6.8 2 Jul 2025
CVE-2025-47930 Medium 5.3 16 May 2025
CVE-2025-31478 High 8.2 16 Apr 2025
CVE-2025-30368 Low 2.7 31 Mar 2025
CVE-2025-30369 Low 2.7 31 Mar 2025
CVE-2025-27149 Medium 4.6 31 Mar 2025
CVE-2024-56136 Medium 6.9 16 Jan 2025
CVE-2024-36612 High 7.5 29 Nov 2024
CVE-2024-36624 Medium 5.4 29 Nov 2024
CVE-2024-36625 Medium 5.4 29 Nov 2024
CVE-2024-27286 Medium 6.5 20 Mar 2024
CVE-2024-21630 Medium 4.3 25 Jan 2024
CVE-2023-47642 Medium 4.3 16 Nov 2023
CVE-2023-32678 Medium 6.5 25 Aug 2023
CVE-2023-33186 High 8.2 30 May 2023
CVE-2023-28623 Medium 6.5 19 May 2023
CVE-2023-32677 Low 3.1 19 May 2023
CVE-2023-22735 Medium 4.4 7 Feb 2023
CVE-2022-41914 Low 3.7 16 Nov 2022
CVE-2022-36048 Medium 4.3 31 Aug 2022
CVE-2022-35962 High 8.0 29 Aug 2022
CVE-2016-4426 Medium 4.3 28 Jul 2022
CVE-2016-4427 High 7.5 28 Jul 2022
CVE-2022-31168 Medium 5.4 22 Jul 2022
CVE-2022-31134 Medium 4.9 12 Jul 2022
CVE-2022-31017 Low 2.0 25 Jun 2022
CVE-2022-24751 Medium 5.4 16 Mar 2022
CVE-2022-23656 Medium 4.6 2 Mar 2022
CVE-2021-3967 High 8.8 26 Feb 2022
CVE-2022-21706 High 7.2 26 Feb 2022
CVE-2021-43799 High 8.6 25 Jan 2022
CVE-2021-3866 Medium 5.4 20 Jan 2022
CVE-2021-43791 Medium 6.5 2 Dec 2021
CVE-2021-41115 Medium 4.3 7 Oct 2021
CVE-2021-30477 Medium 4.3 15 Apr 2021
CVE-2021-30478 Medium 4.3 15 Apr 2021
CVE-2021-30479 Medium 5.3 15 Apr 2021
CVE-2021-30487 Low 2.7 15 Apr 2021
CVE-2020-10857 Critical 9.8 5 Feb 2021
CVE-2020-10858 Medium 5.3 5 Feb 2021
CVE-2020-14194 Medium 5.4 21 Aug 2020
CVE-2020-14215 High 7.5 21 Aug 2020
CVE-2020-15070 High 8.8 21 Aug 2020
CVE-2020-12759 Medium 6.1 21 Aug 2020
CVE-2020-10935 Medium 5.4 20 Apr 2020
CVE-2020-9444 Medium 6.1 20 Apr 2020
CVE-2020-9445 Medium 6.1 20 Apr 2020
CVE-2019-19775 Medium 6.1 18 Dec 2019
CVE-2019-18933 Critical 9.8 21 Nov 2019
CVE-2019-16215 Medium 6.5 18 Sep 2019
CVE-2019-16216 Medium 5.4 18 Sep 2019
CVE-2018-9986 Medium 6.1 18 Apr 2018
CVE-2018-9987 Medium 6.1 18 Apr 2018
CVE-2018-9990 Medium 6.1 18 Apr 2018
CVE-2018-9999 Medium 5.4 18 Apr 2018
CVE-2017-0910 High 8.8 27 Nov 2017

Original policy

Copied from sorona.xyz on 12 Nov 2026. The summaries on this page are made from it; the live page may have changed since.

Skip to content What this pays This project runs no bounty of its own. sorona.xyz pays you directly on qualified, reproduced findings. Severity │ sorona.xyz pays Critical │ $1,500+ High │ $700+ Medium │ $300+ Low │ $100 / 1 month Claude Max Submit a vulnerability CVE history 5 Last 12 months 32 Lifetime Access control 40 % Info disclosure 25 % XSS 20 % Auth bypass 15 % Latest advisories Loading the feed Overview Zulip is the threaded team chat that universities, government bodies and large open-source communities self-host when they will not put internal conversation into somebody else's SaaS. What an instance holds is an organisation's entire private message history plus every file its members have dropped into it. Zulip publishes the most detailed security policy in this category, issues its own CVEs and acknowledges reports within two business days, and it runs an invitation-based HackerOne programme for disclosure with no bounty attached. Nothing in the policy or on the security page mentions payment at any severity. sorona.xyz pays you directly on qualified, reproduced findings. In scope The policy declares its in-scope surface as the Zulip server together with the Electron desktop application and the Flutter mobile application, and takes reports on all three through the same channels. Nothing narrower is carved out The realm boundary on a server hosting several organisations, where a realm is one organisation's whole message history Channel and direct message access control, covering private channels, the checks applied when a user joins or is added, and guest users, who are the lowest-trust account the product issues Message history visibility rules, including what a newly added member can read and what happens when a channel's policy changes Message editing, deletion and the moderation controls layered over them The REST API in full, plus API keys, bot accounts and the bot token model Integrations and incoming webhooks, the surface that accepts data from external systems and turns it into messages File upload and attachment serving, including the access check applied when an attachment URL is requested Markdown rendering, link preview generation and any other path where the server fetches a URL a user supplied Authentication backends: password, LDAP, SAML, OIDC and social login, along with session handling and the invitation flow The mobile push notification bouncer, which relays notifications on behalf of self-hosted servers The organisation settings and administration surface, including user role changes and the export and import machinery The Electron desktop client, particularly its handling of untrusted message content and its update path The Flutter mobile client, including deep link handling and notification processing Out of scope Third-party integrations' own systems, which are separate estates rather than Zulip code Upstream Python, Django and JavaScript dependency issues, unless Zulip's own use of the dependency is what makes the defect reachable Self-hosting and deployment configuration, including a server run against the documented installation guidance An organisation permission or channel policy an administrator set deliberately Testing against live instances holding other organisations' private conversations Public disclosure before the coordinated release, which the policy's process rules out Most-valued findings Cross-realm access on a server hosting several organisations, the highest-consequence class the product has Private channel and direct message content reaching a user who was never subscribed. Guest accounts above all, since a guest is the account an organisation gives to an outsider The file upload and attachment path, where an attachment URL that skips the message's access check is the classic way private content escapes a chat server Message history visibility defects, particularly around a channel policy change or a newly added member reading what they were never meant to see Markdown and link preview processing, both because the server fetches URLs on a user's behalf, giving server-side request forgery, and because rendering attacker-controlled text in every recipient's client gives cross-site scripting API key and bot token scope, where a bot or key acts beyond the channels and permissions it holds Authentication backend defects in LDAP, SAML or the social login paths, identity binding above all The push notification bouncer, which handles traffic on behalf of many self-hosted servers at once and is a shared piece of infrastructure rather than one organisation's The Electron client rendering untrusted message content with elevated privilege, where a chat message becomes code on a member's desktop Privilege escalation from member to organisation administrator, which reaches the export machinery and with it every message the organisation has ever sent Program rules Submit through sorona.xyz. This project runs no bounty of its own; we validate, coordinate disclosure with the maintainers, and pay you directly. Report privately to [email protected] , the channel open to anyone. The HackerOne programme is invitation-based and cannot be joined by filing That HackerOne programme is a disclosure programme with bounties switched off. Being invited to it does not mean being paid The policy commits to acknowledging a report within two business days, and Zulip issues CVEs for its own findings, so expect an identifier rather than credit alone The declared surface covers the server plus the Electron desktop client and the Flutter mobile client. Say which one you tested Self-hosted deployments and Zulip Cloud share a server codebase but differ in configuration and in which authentication backends are wired up. State which you reproduced on The policy asks how you would like to be credited. Recognition is what is on offer; there is no payment to negotiate Disclosure Coordinated privately with the Zulip security team by email or through the invitation-based HackerOne programme, then published with a CVE the project issues itself and a patched release. The policy commits to acknowledgement within two business days and carries a researcher resources section, which is more support than almost anything else in this category offers. No fixed embargo length is published. Hold the detail until the release is out, and account for self-hosted operators at universities and government bodies who upgrade on their own slow cycle. Safe harbor Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf. You are responsible for understanding and following the laws that apply to you, wherever you are, and for staying within any scope the project has defined. Submit a vulnerability