Skip to content

Apache Zeppelin

Bug bounty on Sorona apache.org

Accepting reports open-source
Top reward
$1,500
Top severity paid
Critical
Assets in scope
12
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.
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
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, and we do not grant authorization on their behalf.

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

Scope

12 assets you may test, 6 excluded.

Web 1

  • https://zeppelin.apache.org

Products and areas 11

  • Authentication and authorisation through Shiro, covering realms, the credential store and how a role maps to note and interpreter permissions
  • Cron scheduling on notes, which runs paragraphs unattended under a stored identity
  • Every shipped interpreter, including Spark, Flink, JDBC, Python, R, shell and the markdown and Angular display paths
  • Interpreter configuration and dependency loading, covering the properties an authorised user can set and the artifacts Zeppelin resolves and puts on a classpath
  • Notebook rendering in the browser: paragraph output, the Angular display system, dynamic forms and anything that puts stored content back on a page
  • Notebook storage and the repository backends, including the local, Git, S3 and other remote storage implementations and the permissions attached to a note
  • The ASF process accepts any undisclosed vulnerability in Zeppelin privately at [email protected], and the project's threat model narrows what counts as a finding rather than which components are eligible. The whole server is in scope
  • The credentials feature, which stores data source secrets on a user's behalf and injects them into interpreter sessions
  • The helium plugin framework and the visualisation packages it loads
  • The interpreter framework: process launch, binding modes, the per-user and per-note isolation options and everything that decides which interpreter process a paragraph runs in
  • The notebook REST API and the WebSocket API in full, including origin validation, session handling and the authorisation checks on each message type
Out of scope (6)
  • A deployment left with authentication disabled, which is a configuration decision rather than a Zeppelin defect
  • Code execution by a user the operator authorised to use an interpreter. Running user code is the entire purpose of the product
  • Reports filed publicly on Jira or GitHub, which put the issue outside the coordinated process
  • Spark, Flink and the other engines Zeppelin drives, each of which has its own security process
  • Third-party interpreters and helium packages that are not part of the Zeppelin distribution
  • Upstream dependencies, unless Zeppelin's own use of them 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 address SECURITY.md and the threat model documents all point at
  • Read THREAT_MODEL.md and SECURITY-README.md first.
  • Frame the report around reachability and isolation: who got to the interpreter, and what boundary they crossed to get there
  • Do not open a public Jira issue or a GitHub issue for a security bug.
  • Name the Zeppelin version, the interpreter involved and the interpreter binding mode.
  • Say whether Shiro authentication was configured and which role the attacker held.
  • Hold detail until the announcement rather than until a date you picked.

Not accepted

  • Code execution by a user the operator authorised to use an interpreter
  • A deployment left with authentication disabled
  • Third-party interpreters and helium packages that are not part of the Zeppelin distribution
  • Upstream dependencies, unless Zeppelin's own use of them is what makes the defect reachable

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-97355 Medium 6.5 5 Nov 2026
CVE-2026-97356 Medium 6.5 5 Nov 2026
CVE-2026-82960 High 8.8 5 Nov 2026
CVE-2026-83538 Medium 5.3 5 Nov 2026
CVE-2026-83542 Critical 9.8 5 Nov 2026
CVE-2026-84183 High 8.8 5 Nov 2026
CVE-2026-84728 Medium 5.4 5 Nov 2026
CVE-2026-85627 High 8.8 5 Nov 2026
CVE-2026-92887 High 7.3 5 Nov 2026
CVE-2026-82904 High 7.5 5 Nov 2026
CVE-2026-82907 Critical 9.8 5 Nov 2026
CVE-2026-82910 High 8.8 5 Nov 2026
CVE-2026-82912 High 8.8 5 Nov 2026
CVE-2026-82916 High 7.1 5 Nov 2026
CVE-2026-82902 Medium 4.3 5 Nov 2026
CVE-2026-114233 High 8.1 5 Nov 2026
CVE-2026-114235 Medium 6.5 5 Nov 2026
CVE-2026-114271 Medium 6.5 5 Nov 2026
CVE-2026-114272 Medium 6.5 5 Nov 2026
CVE-2026-114277 Medium 6.5 5 Nov 2026
CVE-2026-109129 Medium 5.4 5 Nov 2026
CVE-2026-109837 Medium 5.4 5 Nov 2026
CVE-2026-109856 Medium 6.5 5 Nov 2026
CVE-2026-109928 High 7.4 5 Nov 2026
CVE-2026-114229 Medium 6.1 5 Nov 2026
CVE-2026-59267 Medium 5.8 4 Nov 2026
CVE-2026-90631 Low 3.3 4 Nov 2026
CVE-2026-90632 Medium 5.5 4 Nov 2026
CVE-2026-90634 High 7.3 4 Nov 2026
CVE-2026-90624 High 7.3 4 Nov 2026
CVE-2026-90626 High 7.3 4 Nov 2026
CVE-2026-90627 Medium 5.5 4 Nov 2026
CVE-2026-90628 High 7.3 4 Nov 2026
CVE-2026-90629 High 7.3 4 Nov 2026
CVE-2026-59264 High 7.8 4 Nov 2026
CVE-2026-59268 High 7.3 4 Nov 2026
CVE-2026-59263 Low 1.9 4 Nov 2026
CVE-2026-64618 Critical 9.8 30 Oct 2026
CVE-2026-65874 High 8.8 30 Oct 2026
CVE-2026-95628 Medium 5.4 26 Oct 2026
CVE-2026-95629 Medium 5.4 26 Oct 2026
CVE-2026-95663 Medium 4.8 26 Oct 2026
CVE-2026-95664 Medium 5.4 26 Oct 2026
CVE-2026-101259 Medium 5.3 26 Oct 2026
CVE-2026-111497 Critical 9.2 22 Oct 2026
CVE-2026-88900 High 8.8 19 Oct 2026
CVE-2026-85313 Medium 4.3 19 Oct 2026
CVE-2026-85314 Medium 6.5 19 Oct 2026
CVE-2026-85315 Medium 5.3 19 Oct 2026
CVE-2026-85316 Medium 4.8 19 Oct 2026
CVE-2026-85317 Medium 4.8 19 Oct 2026
CVE-2026-85254 Medium 6.5 19 Oct 2026
CVE-2026-85257 Medium 5.3 19 Oct 2026
CVE-2026-85260 Medium 5.5 19 Oct 2026
CVE-2026-85296 Medium 6.5 19 Oct 2026
CVE-2026-85312 Medium 4.8 19 Oct 2026
CVE-2026-85247 Medium 5.9 19 Oct 2026
CVE-2026-85249 Medium 6.5 19 Oct 2026
CVE-2026-85250 High 7.5 19 Oct 2026
CVE-2026-85251 High 7.5 19 Oct 2026

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 3 Last 12 months Interpreter isolation 35 % Origin/CSRF validation 25 % Injection 25 % XSS 15 % Latest advisories Loading the feed Overview Zeppelin is a web notebook that runs code against Spark, Flink, JDBC data sources and shells, deployed by data-platform teams as the interactive front door to a cluster. It executes user-supplied code by design, so the security question is who reaches an interpreter and what keeps one notebook away from the next. Three CVEs published together in August 2025 show the shape: a cross-site scripting bug, a JDBC connection URL validation gap and a WebSocket origin check that did not hold. Apache runs no bug bounty and pays nothing at any severity. sorona.xyz pays you directly on qualified, reproduced findings. In scope The ASF process accepts any undisclosed vulnerability in Zeppelin privately at [email protected] , and the project's threat model narrows what counts as a finding rather than which components are eligible. The whole server is in scope The interpreter framework: process launch, binding modes, the per-user and per-note isolation options and everything that decides which interpreter process a paragraph runs in Every shipped interpreter, including Spark, Flink, JDBC, Python, R, shell and the markdown and Angular display paths Interpreter configuration and dependency loading, covering the properties an authorised user can set and the artifacts Zeppelin resolves and puts on a classpath The notebook REST API and the WebSocket API in full, including origin validation, session handling and the authorisation checks on each message type Notebook storage and the repository backends, including the local, Git, S3 and other remote storage implementations and the permissions attached to a note Authentication and authorisation through Shiro, covering realms, the credential store and how a role maps to note and interpreter permissions The credentials feature, which stores data source secrets on a user's behalf and injects them into interpreter sessions Notebook rendering in the browser: paragraph output, the Angular display system, dynamic forms and anything that puts stored content back on a page Cron scheduling on notes, which runs paragraphs unattended under a stored identity The helium plugin framework and the visualisation packages it loads Out of scope Code execution by a user the operator authorised to use an interpreter. Running user code is the entire purpose of the product Spark, Flink and the other engines Zeppelin drives, each of which has its own security process A deployment left with authentication disabled, which is a configuration decision rather than a Zeppelin defect Third-party interpreters and helium packages that are not part of the Zeppelin distribution Upstream dependencies, unless Zeppelin's own use of them is what makes the defect reachable Reports filed publicly on Jira or GitHub, which put the issue outside the coordinated process Most-valued findings Escaping the interpreter isolation boundary: one user's paragraph reaching another user's interpreter process, credentials or notebook data. This is the finding the threat model actually asks for Anything that reaches an interpreter without the permission to use one, whether unauthenticated or as a role that was only meant to read notes WebSocket origin and CSRF validation, the class CVE-2024-51775 landed in. A browser-driven message to a logged-in user's Zeppelin session runs code on a cluster Connection string and JDBC URL validation, the CVE-2024-52279 shape, where a crafted URL turns a data source configuration into a file read or a class load Credential store defects that return a stored data source secret to a user who should only see query output Cross-site scripting in paragraph output, dynamic forms or note metadata, where a shared notebook executes in an administrator's browser. CVE-2024-41177 is the recent example Notebook permission bypass, particularly on scheduled notes, where a cron-triggered run executes under an identity the requester does not hold 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 address SECURITY.md and the threat model documents all point at Read THREAT_MODEL.md and SECURITY-README.md first. Zeppelin runs user code deliberately, so a paragraph executing a shell command is the product working rather than a finding Frame the report around reachability and isolation: who got to the interpreter, and what boundary they crossed to get there Do not open a public Jira issue or a GitHub issue for a security bug. The ASF process stays private until the announcement Name the Zeppelin version, the interpreter involved and the interpreter binding mode. Shared, scoped and isolated modes give completely different answers about severity Say whether Shiro authentication was configured and which role the attacker held. An unauthenticated finding against a deployment nobody secured is a configuration argument The ASF pays nothing at any severity. Reporters receive advisory credit Disclosure Coordinated by the ASF security team with the Zeppelin project management committee, ending in CVEs and an announcement once a fixed release is out. This project publishes in batches: the three most recent CVEs went out together on a single day with identifiers issued the previous year, so the gap between report and publication can be long. Hold detail until the announcement rather than until a date you picked. 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