Bug bounty
Triaged by Hackenproof

Flow Protocol: Program info

Flow Protocol

Company: Flow
POC required
Live
Program is active now
Program infoReports

Flow is a decentralized platform that anyone can access, everyone can trust, and no-one can censor or block. Flow is the future.

In scope
TargetTypeSeverityReward
https://github.com/onflow/flow-go/tree/b06c18e6c33e6d6ebb346fe67889df7168a5f1a4
copy
Copy
success Copied
Smart Contract
Critical
Bounty
https://github.com/onflow/crypto/tree/66aafb1becda2147a6afb48ee3176d9d2247eb3a
copy
Copy
success Copied
Smart Contract
Critical
Bounty
https://github.com/onflow/cadence/tree/60e6c727c55b5e90a5377a9453003d2859a45b1e
copy
Copy
success Copied
Smart Contract
Critical
Bounty
https://github.com/onflow/atree/tree/65ef01bba1413e270c80343ab7e27041e177456e
copy
Copy
success Copied
Smart Contract
Critical
Bounty
https://github.com/onflow/ccf/tree/03f3868aa96a2135ba238b5fc9067c56b55e396d
copy
Copy
success Copied
Smart Contract
Critical
Bounty
https://github.com/onflow/flow-core-contracts/tree/81b89f94c10988d4194fddbff137ac6798adc57b
copy
Copy
success Copied
Smart Contract
Critical
Bounty
https://github.com/onflow/flow-evm-bridge/tree/b32c787631c9c84c548b2e414d87b49fa32b12d8
copy
Copy
success Copied
Smart Contract
Critical
Bounty
Target
https://github.com/onflow/flow-go/tree/b06c18e6c33e6d6ebb346fe67889df7168a5f1a4
copy
Copy
success Copied
TypeSmart Contract
Severity
Critical
RewardBounty
Target
https://github.com/onflow/crypto/tree/66aafb1becda2147a6afb48ee3176d9d2247eb3a
copy
Copy
success Copied
TypeSmart Contract
Severity
Critical
RewardBounty
Target
https://github.com/onflow/cadence/tree/60e6c727c55b5e90a5377a9453003d2859a45b1e
copy
Copy
success Copied
TypeSmart Contract
Severity
Critical
RewardBounty
Target
https://github.com/onflow/atree/tree/65ef01bba1413e270c80343ab7e27041e177456e
copy
Copy
success Copied
TypeSmart Contract
Severity
Critical
RewardBounty
Target
https://github.com/onflow/ccf/tree/03f3868aa96a2135ba238b5fc9067c56b55e396d
copy
Copy
success Copied
TypeSmart Contract
Severity
Critical
RewardBounty
Target
https://github.com/onflow/flow-core-contracts/tree/81b89f94c10988d4194fddbff137ac6798adc57b
copy
Copy
success Copied
TypeSmart Contract
Severity
Critical
RewardBounty
Target
https://github.com/onflow/flow-evm-bridge/tree/b32c787631c9c84c548b2e414d87b49fa32b12d8
copy
Copy
success Copied
TypeSmart Contract
Severity
Critical
RewardBounty

Focus Area

The following defines the rewards for Flow protocol and cadence:

Severity: Critical Reward: $100,000 USD Criteria:

  • Emergency remediation
  • Public announcement
  • Hard-forking of a smart contract

Severity: High Reward: $50,000 USD Criteria:

  • Immediate analysis and action is necessary
  • Public disclosure in most cases
  • Exploitation would significantly affect the Flow ecosystem
  • Eventual fix of smart contract

Severity: Medium Reward: $10,000 USD Criteria:

  • Remediation required, but impact is not significant

Severity: Low Reward: $1000 USD Criteria:

  • Low risk issues like misconfigurations with no proven path to exploit

To qualify for a reward, the vulnerability must fall within our Assets In Scope, comply with our Responsible Disclosure Guidelines, and meet the following criteria:

  1. Previously unknown - When reported, we must not have already known of the issue, either by internal discovery or other report.
  2. Material impact - Demonstrable vulnerability where, if exploited, the vulnerability would materially affect the confidentiality, integrity, or availability of our assets.
  3. Requires action - The vulnerability requires some mitigation.
  4. Your participation is not prohibited by applicable law.

OUT OF SCOPE VULNERABILITIES (Smart Contracts)

  • Theoretical vulnerabilities without any proof or demonstration
  • Old compiler version
  • The compiler version is not locked
  • Vulnerabilities in imported contracts
  • Code style guide violations
  • Redundant code
  • Gas optimizations
  • Best practice issues
  • Vulnerabilities that can be exploited through front-run attacks only

Program Rules

  • Avoid using web application scanners for automatic vulnerability searching which generates massive traffic
  • Make every effort not to damage or restrict the availability of products, services, or infrastructure
  • Avoid compromising any personal data, interruption, or degradation of any service
  • Don’t access or modify other user data, localize all tests to your accounts
  • Perform testing only within the scope
  • Don’t exploit any DoS/DDoS vulnerabilities, social engineering attacks, or spam
  • Don’t spam forms or account creation flows using automated scanners
  • In case you find chain vulnerabilities we’ll pay only for vulnerability with the highest severity.
  • Don’t break any law and stay in the defined scope
  • Any details of found vulnerabilities must not be communicated to anyone who is not a HackenProof Team or an authorized employee of this Company without appropriate permission

Disclosure Guidelines

Flow was built from the ground up with security in mind. Our code, infrastructure, and development methodology help us keep our users safe.

We appreciate and encourage the security researcher community to report potential vulnerabilities in our assets.If you identify a vulnerability, please notify us using the following guidelines.

Things To Do:

  • Make every effort to avoid unauthorized access, use, downloading, destruction, or disclosure of personal or confidential information.
  • Avoid actions which could impact user experience, disrupt production systems, change, or destroy data during security testing.
  • Use our provided communication channels to report vulnerability information to us.
  • Keep information about any vulnerability you discover confidential between us for a reasonable time that will allow us to review and resolve the vulnerability or until we have notified you that the vulnerability has been resolved.
  • Only test assets covered by the “Assets In Scope” section.

Things Not To Do:

  • Do not include Sensitive Data in your reports. See the “Sensitive Data” section for further information.
  • Do not perform any attack that may cause denial-of-service to the network, hosts, applications, or services on any port or protocol.
  • Do not use automated scanners to crawl us or hammer endpoints.
  • Do not attempt non-technical attacks such as social engineering, phishing, or physical attacks against our employees, users, or infrastructure.
  • Do not perform physical testing such as office and data-center access (e.g., open doors, tailgating, card reader attacks, or physically destructive testing).
  • Do not test assets explicitly listed in the “Assets Out of Scope” section.

Eligibility and Coordinated Disclosure

We are happy to thank everyone who submits valid reports which help us improve the security. However, only those that meet the following eligibility requirements may receive a monetary reward:

  • You must be the first reporter of a vulnerability.
  • The vulnerability must be a qualifying vulnerability
  • Any vulnerability found must be reported no later than 24 hours after discovery and exclusively through hackenproof.com
  • You must send a clear textual description of the report along with steps to reproduce the issue, include attachments such as screenshots or proof of concept code as necessary.
  • You must not be a former or current employee of us or one of its contractor.
  • ONLY USE the EMAIL under which you registered your HackenProof account (in case of violation, no bounty can be awarded)
  • Provide detailed but to-the point reproduction steps

Exclusions (Non-Qualifying Vulnerabilities)

Flow Protocol Exclusions: Flow ecosystem is working on progressively decentralizing the network by hardening the protocol level security and introducing permissionless nodes. For this reason, Flow still relies on protocol-compliant nodes and bounties are limited to permissionless node types. Only attacks originating from Access and observer nodes will qualify.

Protocol-level vulnerabilities which are only exploitable through the control of Collection, Consensus, Execution or Verification nodes are excluded.

Web Application Exclusions: The following web application vulnerabilities are excluded from this program:

  • Clickjacking on pages with no sensitive actions.
  • Cross-Site Request Forgery (CSRF) on unauthenticated forms or forms with no sensitive actions.
  • Attacks requiring MITM or physical access to a user's device.
  • Use of a known-vulnerable library without evidence of exploitability.
  • Missing best practices in SSL/TLS configuration.
  • Any activity that could lead to the disruption of our service or denial-of-service attack (DoS).
  • Content spoofing and text injection issues without showing an attack vector/without being able to modify HTML/CSS.
  • Rate limiting or brute force issues on non-authentication endpoints.
  • Missing best practices in Content Security Policy (CSP).
  • Missing HttpOnly or Secure flags on cookies.
  • Missing email best practices (Invalid, or incomplete SPF/DKIM/DMARC records, etc.)
  • Vulnerabilities only affecting users of outdated or unpatched browsers (i.e., less than two stable versions behind the latest released stable version).
  • Software version disclosure, banner identification issues, or descriptive error messages or headers (e.g., stack traces, application, or server errors).
  • Issues that require unlikely user interaction.
  • Social engineering of Flow staff or contractors.
  • Tabnabbing.

Where are potential bugs?

The Crescendo upgrade introduces major performance upgrades and full EVM equivalence. Here are the key areas that underwent significant changes, and potential bugs that could arise.

Discover Cadence source code and Flow node software source code.

1. Cadence language

  • New and updated functionality
  • Circumvention of resource semantics, such as unauthorized construction, duplication, or use-after-destruction.
  • Type confusion, such as using functionality designed for a certain type (parameter) with a value of another type.

2. Cadence contract update mechanism

3. Cadence & EVM runtime environment Privilege elevation/bypassing sandbox protections for file system access controls, services/processes, and restricted memory access.

For example:

  • Gaining control of the machine hosting the Cadence & EVM runtime environment (e.g., the node’s private keys) via adversarial transactions and/or smart contracts.
  • Accessing private keys of a node hosting the Cadence & EVM runtime.
  • Gaining access to the Random Number Generator's internal state, leading to reliable prediction of future outcomes of on-chain randomness (see Flow’s VRF for more details ).

4. Privilege elevation/escalation/unauthorized access

  • Withdrawing from a FT vault without proper access.
  • Hijacking another user's account.
  • Accessing private data belonging to other users.
  • Gaining inappropriate access to sensitive and/or private information, such as a contract accessing private fields of another contract.
  • Making unauthorized changes to the application or its data.
  • Bypassing business logic rules around account changes.
  • Bypassing authorization and authentication mechanisms.

5. EVM gateaway

  • Bugs or vulnerabilities in exposed API endpoints.

6. Onchain data

  • Data corruption or loss.
  • Unreachable data due to data migration or transaction/script execution.
Rewards
Range of bounty$2,000 - $250,000
Severity
Critical
$100,000 - $250,000
High
$50,000
Medium
$10,000
Low
$2,000 - $5,000
Stats
Scope Review344
Submissions0
Total rewards$0
Types
smart contract
Languages
Go
Project types
L1
SLA (Service Level Agreement)
Time within which the program's triage team must respond
Response TypeBusiness days
First Response3d
Triage Time3d
Reward Time3d
Resolution Time14d