This library is not designed to be fully side-channel resistant. We build higher-level protocols on top of a side-channel resistant foundation of elliptic curve and big integer operations.
Important: This library is intended for use by experienced cryptographers and developers who understand the security implications of the protocols involved. If you are not familiar with the underlying cryptographic primitives, please consult with a cryptography expert before using this library in production.
Audit: The threshold signing packages of this library and all their direct and indirect dependencies have been audited by Trail of Bits and the audit report may be found in the audits directory.
Security updates are applied only to the most recent release. We recommend always using the latest version
of bron-crypto to ensure you have the most recent security patches.
We take security vulnerabilities in bron-crypto very seriously. If you have discovered a security vulnerability,
please report it privately using one of the methods below. Do not disclose it as a public issue or pull request.
All vulnerability reports must be submitted via email to: bugbounty@bron.org
Please use the Vulnerability Report Template when submitting your report. The template includes the required format for email subject and body, ensuring all necessary information is included for efficient triage.
Note: GitHub Security Advisories are no longer accepted as a submission channel. All reports must go through email.
- Acknowledgment: We will acknowledge receipt of your report within 3 business days
- Initial Triage: We will perform initial triage within 10 business days
- Collaboration: We may create a temporary private fork to collaborate on a fix with you
- Fix Development: We will work with you to develop and test a fix
- Disclosure: Once a patch is ready, we will coordinate public disclosure
We request that you give us at least 90 days to work on a fix before public exposure. This timeline may be extended for complex vulnerabilities requiring significant architectural changes.
This repository is part of the Bron Bug Bounty Program. Security vulnerabilities reported through the proper channels may be eligible for rewards.
- Program Page: https://bugbounty.bron.org/
- Policy: Responsible Vulnerability Disclosure Policy
- Rewards: See Rewards Table for CVSS v4.0-based reward ranges
- Scope: This MPC cryptography library is in scope for the bug bounty program
To be eligible for bug bounty rewards:
- You must be the first to report the vulnerability
- You must follow responsible disclosure practices (no public disclosure before patch release)
- The vulnerability must be in scope (see below)
- You must comply with the program's terms and conditions
The bug bounty program covers security vulnerabilities in:
- Threshold signature schemes and their direct or indirect dependencies
- Cryptographic implementation flaws in production code
- Memory safety issues
- Logic errors in threshold signature schemes
- Issues in key generation, signing, or verification protocols
- Vulnerabilities in the BoringSSL integration
Important: Everything that is not a direct or indirect dependency of threshold signature schemes is considered experimental and is not part of the bug bounty program.
CGGMP21 is experimental and out of scope. This includes the CGGMP21 threshold ECDSA protocol, its CGGMP21 zero-knowledge proof packages, and CGGMP21-specific supporting protocol code.
We will introduce a more explicit way of handling experimental features in the future. For now, this policy serves to clearly define the scope of our bug bounty program.
- Vulnerabilities in third-party dependencies (unless they create a bron-crypto-specific security issue)
- Bugs that only affect availability unless they also compromise security property
- Issues that require physical access to the device (including side-channel attacks)
- Remote timing attacks
- Social engineering attacks
- Any denial-of-service attacks that do not compromise security
- Test, benchmark, example code, and documentation
- Vulnerabilities in applications using
bron-crypto(report to those projects instead) - CGGMP21 related code
When using bron-crypto in production:
- Always use the latest released version
- Review and follow our documentation for secure usage patterns
- Keep your dependencies up to date
- Use secure random number generators
- Implement proper key management practices
- Consider security audits for production deployments
We maintain a Hall of Fame to recognize security researchers who help improve the security of Bron's software.
Thank you for helping keep Bron and the open source community safe!