1# How to report a security vulnerability 2 3This describes how you can report an OpenBMC security vulnerability privately to 4give the project time to address the problem before public disclosure. 5 6The main ideas are: 7 8- You have information about a security problem or vulnerability which is not 9 yet publicly available. 10- You want the problem fixed before public disclosure and you are willing to 11 help make that happen. 12- You understand the problem will eventually be publicly disclosed. 13 14To begin the process: Privately contact the OpenBMC security response team and 15(if known) the project maintainer: 16 17- Suggest sending an email. Use `openbmc-security at lists.ozlabs.org`. 18- If you know which source code repository is affected, find the repository 19 owner or maintainer contact information in the OWNERS or MAINTAINERS file. If 20 not, the security response team will help route the problem. 21- Include details about the security problem such as: 22 - The version and configuration of OpenBMC the problem appears in. 23 - How to reproduce the problem. 24 - What are the symptoms. 25- As the problem reporter, you will be included in the problem response. 26 27Please note the OpenBMC project has multiple source code repositories. Each has 28separate owners. If you do not know which repository is affected, the owner or 29the security response team can help you route the problem. 30 31When the project owners get a new security problem, they will create a [GitHub 32security advisory][] in their repository and begin work. The advisory has draft 33status which means only the collaborators can see it. Collaborators should be 34added as follows: 35 36- The problem reporter. 37- The OpenBMC security response team. 38- Developers responsible for fixing the problem. 39 40The collaborators work to resolve the problem. Activities may include: 41 42- The OpenBMC [CVE Numbering Authority (CNA)][] (members of the OpenBMC security 43 response team) will help clarify the problem and assign CVEs. 44- Privately engage community members to understand and address the problem. 45 Anyone brought onboard should be given a link to the OpenBMC [security 46 response team guidelines][]. 47- Work to determine the scope and severity of the problem, such as [CVSS 48 metrics][]. 49- Coordinate workarounds and fixes with you and the community. 50- Coordinate announcement details with you, such as timing or how you want to be 51 credited. 52- At the agreed time, publish the OpenBMC security advisory, reveal the fix, and 53 publish the CVE. 54 55Please refer to the [CERT Guide to Coordinated Vulnerability Disclosure][], 56(SPECIAL REPORT CMU/SEI-2017-SR-022) for additional considerations. 57 58Alternatives to this process: 59 60- If the problem is not severe, please write an issue to the affected repository 61 or email the list. 62- Join the OpenBMC community and fix the problem yourself. 63- If you are unsure if the error is in OpenBMC (contrasted with upstream 64 projects such as the Linux kernel or downstream projects such as a customized 65 version of OpenBMC), please report it and we will help you route it to the 66 correct area. 67- Discuss your topic in other 68 [OpenBMC communication channels](https://github.com/openbmc/openbmc). 69 70[security response team guidelines]: ./obmc-security-response-team-guidelines.md 71[cvss metrics]: https://www.first.org/cvss/calculator/3.0 72[cve]: http://cve.mitre.org/about/index.html 73[cert guide to coordinated vulnerability disclosure]: 74 https://resources.sei.cmu.edu/asset_files/SpecialReport/2017_003_001_503340.pdf 75[github security advisory]: 76 https://docs.github.com/en/code-security/repository-security-advisories/creating-a-repository-security-advisory 77[cve numbering authority (cna)]: https://www.cve.org/ProgramOrganization/CNAs 78