|
| 1 | +# Security Policy |
| 2 | + |
| 3 | +The Solidity team and community take all security bugs in Solidity seriously. |
| 4 | +We appreciate your efforts and responsible disclosure and will make every effort to acknowledge your contributions. |
| 5 | + |
| 6 | +## Scope |
| 7 | + |
| 8 | +Bugs in the Solidity repository are in scope. |
| 9 | +Bugs in third-party dependencies e.g., jsoncpp, boost etc. are not in scope unless they result in a Solidity specific bug. |
| 10 | + |
| 11 | +Only bugs that have a demonstrable security impact on smart contracts are in scope. |
| 12 | +For example, a Solidity program whose optimization is incorrect (e.g., leads to an incorrect output) qualifies as a security bug. |
| 13 | +Please note that the [rules][2] of the [Ethereum bounty program][1] have precedence over this security policy. |
| 14 | + |
| 15 | +## Supported Versions |
| 16 | + |
| 17 | +As a general rule, only the latest release gets security updates. |
| 18 | +Exceptions may be made when the current breaking release is relatively new, e.g. less than three months old. |
| 19 | +If you are reporting a bug, please state clearly the Solidity version(s) it affects. |
| 20 | + |
| 21 | +Example 1: Assuming the current release is `0.6.3` and a security bug has been found in it that affects both `0.5.x` and `0.6.x` trees, we may not only patch `0.6.3` (the bug-fix release numbered `0.6.4`) but `0.5.x` as well (the bug-fix release numbered `0.5.(x+1)`). |
| 22 | + |
| 23 | +Example 2: Assuming the current release is `0.6.25` and a security bug has been found in it, we may only patch `0.6.25` (in the bug-fix release numbered `0.6.26`) even if the bug affects a previous tree such as `0.5.x`. |
| 24 | + |
| 25 | +## Reporting a Vulnerability |
| 26 | + |
| 27 | +To report a vulnerability, please follow the instructions stated in the [Ethereum bounty program][1]. |
| 28 | + |
| 29 | +In the bug report, please include all details necessary to reproduce the vulnerability such as: |
| 30 | + |
| 31 | +- Input program that triggers the bug |
| 32 | +- Compiler version affected |
| 33 | +- Target EVM version |
| 34 | +- Framework/IDE if applicable |
| 35 | +- EVM execution environment/client if applicable |
| 36 | +- Operating system |
| 37 | + |
| 38 | +Please include steps to reproduce the bug you have found in as much detail as possible. |
| 39 | + |
| 40 | +Once we have received your bug report, we will try to reproduce it and provide a more detailed response. |
| 41 | +Once the reported bug has been successfully reproduced, the Solidity team will work on a fix. |
| 42 | + |
| 43 | +The Solidity team maintains the following JSON-formatted lists of patched security vulnerabilities: |
| 44 | + |
| 45 | +- [Summary of known security vulnerabilities][3] |
| 46 | +- [List of security vulnerabilities affecting a specific version of the compiler][4]. |
| 47 | + |
| 48 | + |
| 49 | +[1]: https://bounty.ethereum.org/ |
| 50 | +[2]: https://bounty.ethereum.org/#rules |
| 51 | +[3]: https://solidity.readthedocs.io/en/develop/bugs.html |
| 52 | +[4]: https://github.com/ethereum/solidity/blob/develop/docs/bugs_by_version.json |
0 commit comments