15 March 2022
Live since
No
KYC required
$2,100,000
Maximum bounty

Program Overview

zkSync is a scaling engine for Ethereum. Its current functionality scope includes low gas transfers of ETH and ERC20 tokens in the Ethereum network, atomic swaps & limit orders as well as native L2 NFT support.

zkSync is built on ZK Rollup architecture. ZK Rollup is an L2 scaling solution in which all funds are held by a smart contract on the mainchain, while computation and storage are performed off-chain. For every Rollup block, a state transition zero-knowledge proof (SNARK) is generated and verified by the mainchain contract. This SNARK includes the proof of the validity of every single transaction in the Rollup block. Additionally, the public data update for every block is published over the mainchain network in the cheap calldata.

For more information about zkSync, please visit https://zksync.io/.

This bug bounty program is focused on their smart contracts, ZK-SNARK circuits, web and app and is focused on preventing:

  • Loss of user funds by permanent freezing or direct theft
  • Temporary freezing of funds
  • Smart contract destruction
  • Double spending
  • Ability to execute a transaction with changed signed parameters

Rewards by Threat Level

Rewards are distributed according to the impact of the vulnerability based on the Immunefi Vulnerability Severity Classification System V2. This is a simplified 5-level scale, with separate scales for websites/apps and smart contracts/blockchains, encompassing everything from consequence of exploitation to privilege required to likelihood of a successful exploit. For the ZK-SNARK Circuits, the classification will be based on the impacts listed on the Impacts in Scope section below

All critical and high severity bug reports must come with a PoC with an end-effect impacting an asset-in-scope in order to be considered for a reward. Explanations and statements are not accepted as PoC and code is required.

Rewards for critical smart contract vulnerabilities are further capped at 10% of economic damage, with the main consideration being the funds affected in addition to PR and brand considerations, at the discretion of the team. However, there is a minimum reward of USD 50 000 for Critical bug reports.

The rewards for the Blockchain/DLT section is only for the ZK-SNARK Circuits assets and not any other blockchain/DLT section.

Payouts are handled by the zkSync team directly and are denominated in USD. However, payouts are done in USDC.

Blockchain/DLT

Critical
Level
USD $500,000
Payout
PoC Required
High
Level
USD $10,000
Payout
PoC Required

Smart Contract

Critical
Level
Up to USD $2,100,000
Payout
PoC Required
High
Level
USD $50,000
Payout
PoC Required
Medium
Level
USD $5,000
Payout
Low
Level
USD $1,000
Payout

Websites and Applications

Critical
Level
USD $50,000
Payout
PoC Required
High
Level
USD $5,000
Payout
PoC Required

Assets in scope

All smart contracts of zkSync can be found at https://github.com/matter-labs/zksync/tree/breaking/contracts. However, only those in the Assets in Scope table are considered as in-scope of the bug bounty program.

Note that the bug bounty program includes contracts from the active upgrade - zkSync target/governance target/additional zkSync.

Impacts in scope

Only the following impacts are accepted within this bug bounty program. All other impacts are not considered as in-scope, even if they affect something in the assets in scope table.

Blockchain/DLT

  • Double spending
    Critical
    Impact
  • Inability to generate a block for a priority operation that is added through a smart contract
    Critical
    Impact
  • Minting fungible tokens not through a deposit
    Critical
    Impact
  • Ability to steal/burn/freeze other people's tokens
    Critical
    Impact
  • Ability to execute a transaction with changed signed parameters (e.g. sender/recipient/amount/tokenId/feeToken/...)
    High
    Impact
  • Ability to create a block with public input information that is not enough to restore state transition
    High
    Impact

Smart Contract

  • Loss of user funds by permanent burning, freezing or direct theft
    Critical
    Impact
  • Network shutdown
    Critical
    Impact
  • Temporary freezing of funds for at least 24 hours
    High
    Impact
  • Forceful activation of exodus mode
    High
    Impact
  • Blocking of upgrade system
    High
    Impact
  • Smart contract gas drainage
    Medium
    Impact
  • Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)
    Medium
    Impact
  • Smart contract fails to deliver promised returns, but doesn’t lose value
    Low
    Impact

Websites and Applications

  • Leak of user data
    Critical
    Impact
  • Redirected funds by address modification
    Critical
    Impact
  • Site goes down
    Critical
    Impact
  • Injection of text
    High
    Impact

Out of Scope & Rules

The following vulnerabilities are excluded from the rewards for this bug bounty program:

  • Attacks that the reporter has already exploited themselves, leading to damage
  • Attacks requiring access to leaked keys/credentials
  • Attacks requiring access to privileged addresses (governance, strategist)

Smart Contracts and Blockchain

  • Basic economic governance attacks (e.g. 51% attack)
  • Logic errors with rebase tokens and interest-bearing tokens
  • Best practice critiques
  • Sybil attacks
  • Centralization risks

Websites and Apps

  • Theoretical vulnerabilities without any proof or demonstration
  • Content spoofing / Text injection issues
  • Self-XSS
  • Captcha bypass using OCR
  • CSRF with no security impact (logout CSRF, change language, etc.)
  • Missing HTTP Security Headers (such as X-FRAME-OPTIONS) or cookie security flags (such as “httponly”)
  • Server-side information disclosure such as IPs, server names, and most stack traces
  • Vulnerabilities used to enumerate or confirm the existence of users or tenants
  • Vulnerabilities requiring unlikely user actions
  • URL Redirects (unless combined with another vulnerability to produce a more severe vulnerability)
  • Lack of SSL/TLS best practices
  • DDoS vulnerabilities
  • Attacks requiring privileged access from within the organization
  • Feature requests
  • Best practices

The following activities are prohibited by this bug bounty program:

  • Any testing with mainnet or public testnet contracts; all testing should be done on private testnets
  • Any testing with pricing oracles or third party smart contracts
  • Attempting phishing or other social engineering attacks against our employees and/or customers
  • Any testing with third party systems and applications (e.g. browser extensions) as well as websites (e.g. SSO providers, advertising networks)
  • Any denial of service attacks
  • Automated testing of services that generates significant amounts of traffic
  • Public disclosure of an unpatched vulnerability in an embargoed bounty