security-subjects.rst 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. .. SPDX-License-Identifier: CC-BY-SA-2.0-UK
  2. Dealing with Vulnerability Reports
  3. **********************************
  4. The Yocto Project and OpenEmbedded are open-source, community-based projects
  5. used in numerous products. They assemble multiple other open-source projects,
  6. and need to handle security issues and practices both internal (in the code
  7. maintained by both projects), and external (maintained by other projects and
  8. organizations).
  9. This manual assembles security-related information concerning the whole
  10. ecosystem. It includes information on reporting a potential security issue,
  11. the operation of the YP Security team and how to contribute in the
  12. related code. It is written to be useful for both security researchers and
  13. YP developers.
  14. How to report a potential security vulnerability?
  15. =================================================
  16. If you would like to report a public issue (for example, one with a released
  17. CVE number), please report it using the
  18. :yocto_bugs:`Security Bugzilla </enter_bug.cgi?product=Security>`.
  19. If you are dealing with a not-yet-released issue, or an urgent one, please send
  20. a message to security AT yoctoproject DOT org, including as many details as
  21. possible: the layer or software module affected, the recipe and its version,
  22. and any example code, if available. This mailing list is monitored by the
  23. Yocto Project Security team.
  24. For each layer, you might also look for specific instructions (if any) for
  25. reporting potential security issues in the specific ``SECURITY.md`` file at the
  26. root of the repository. Instructions on how and where submit a patch are
  27. usually available in ``README.md``. If this is your first patch to the
  28. Yocto Project/OpenEmbedded, you might want to have a look into the
  29. Contributor's Manual section
  30. ":ref:`contributor-guide/submit-changes:preparing changes for submission`".
  31. Branches maintained with security fixes
  32. ---------------------------------------
  33. See the
  34. :ref:`Release process <ref-manual/release-process:Stable Release Process>`
  35. documentation for details regarding the policies and maintenance of stable
  36. branches.
  37. The :yocto_wiki:`Releases page </Releases>` contains a list
  38. of all releases of the Yocto Project. Versions in gray are no longer actively
  39. maintained with security patches, but well-tested patches may still be accepted
  40. for them for significant issues.
  41. Security-related discussions at the Yocto Project
  42. -------------------------------------------------
  43. We have set up two security-related mailing lists:
  44. - Public List: yocto [dash] security [at] yoctoproject[dot] org
  45. This is a public mailing list for anyone to subscribe to. This list is an
  46. open list to discuss public security issues/patches and security-related
  47. initiatives. For more information, including subscription information,
  48. please see the :yocto_lists:`yocto-security mailing list info page </g/yocto-security>`.
  49. - Private List: security [at] yoctoproject [dot] org
  50. This is a private mailing list for reporting non-published potential
  51. vulnerabilities. The list is monitored by the Yocto Project Security team.
  52. What you should do if you find a security vulnerability
  53. -------------------------------------------------------
  54. If you find a security flaw: a crash, an information leakage, or anything that
  55. can have a security impact if exploited in any Open Source software built or
  56. used by the Yocto Project, please report this to the Yocto Project Security
  57. Team. If you prefer to contact the upstream project directly, please send a
  58. copy to the security team at the Yocto Project as well. If you believe this is
  59. highly sensitive information, please report the vulnerability in a secure way,
  60. i.e. encrypt the email and send it to the private list. This ensures that
  61. the exploit is not leaked and exploited before a response/fix has been generated.
  62. Security team
  63. =============
  64. The Yocto Project/OpenEmbedded security team coordinates the work on security
  65. subjects in the project. All general discussion takes place publicly. The
  66. Security Team only uses confidential communication tools to deal with private
  67. vulnerability reports before they are released.
  68. Security team appointment
  69. -------------------------
  70. The Yocto Project Security Team consists of at least three members. When new
  71. members are needed, the Yocto Project Technical Steering Committee (YP TSC)
  72. asks for nominations by public channels including a nomination deadline.
  73. Self-nominations are possible. When the limit time is
  74. reached, the YP TSC posts the list of candidates for the comments of project
  75. participants and developers. Comments may be sent publicly or privately to the
  76. YP and OE TSCs. The candidates are approved by both YP TSC and OpenEmbedded
  77. Technical Steering Committee (OE TSC) and the final list of the team members
  78. is announced publicly. The aim is to have people representing technical
  79. leadership, security knowledge and infrastructure present with enough people
  80. to provide backup/coverage but keep the notification list small enough to
  81. minimize information risk and maintain trust.
  82. YP Security Team members may resign at any time.
  83. Security Team Operations
  84. ------------------------
  85. The work of the Security Team might require high confidentiality. Team members
  86. are individuals selected by merit and do not represent the companies they work
  87. for. They do not share information about confidential issues outside of the team
  88. and do not hint about ongoing embargoes.
  89. Team members can bring in domain experts as needed. Those people should be
  90. added to individual issues only and adhere to the same standards as the YP
  91. Security Team.
  92. The YP security team organizes its meetings and communication as needed.
  93. When the YP Security team receives a report about a potential security
  94. vulnerability, they quickly analyze and notify the reporter of the result.
  95. They might also request more information.
  96. If the issue is confirmed and affects the code maintained by the YP, they
  97. confidentially notify maintainers of that code and work with them to prepare
  98. a fix.
  99. If the issue is confirmed and affects an upstream project, the YP security team
  100. notifies the project. Usually, the upstream project analyzes the problem again.
  101. If they deem it a real security problem in their software, they develop and
  102. release a fix following their security policy. They may want to include the
  103. original reporter in the loop. There is also sometimes some coordination for
  104. handling patches, backporting patches etc, or just understanding the problem
  105. or what caused it.
  106. When the fix is publicly available, the YP security team member or the
  107. package maintainer sends patches against the YP code base, following usual
  108. procedures, including public code review.
  109. What Yocto Security Team does when it receives a security vulnerability
  110. -----------------------------------------------------------------------
  111. The YP Security Team team performs a quick analysis and would usually report
  112. the flaw to the upstream project. Normally the upstream project analyzes the
  113. problem. If they deem it a real security problem in their software, they
  114. develop and release a fix following their own security policy. They may want
  115. to include the original reporter in the loop. There is also sometimes some
  116. coordination for handling patches, backporting patches etc, or just
  117. understanding the problem or what caused it.
  118. The security policy of the upstream project might include a notification to
  119. Linux distributions or other important downstream projects in advance to
  120. discuss coordinated disclosure. These mailing lists are normally non-public.
  121. When the upstream project releases a version with the fix, they are responsible
  122. for contacting `Mitre <https://www.cve.org/>`__ to get a CVE number assigned and
  123. the CVE record published.
  124. If an upstream project does not respond quickly
  125. -----------------------------------------------
  126. If an upstream project does not fix the problem in a reasonable time,
  127. the Yocto's Security Team will contact other interested parties (usually
  128. other distributions) in the community and together try to solve the
  129. vulnerability as quickly as possible.
  130. The Yocto Project Security team adheres to the 90 days disclosure policy
  131. by default. An increase of the embargo time is possible when necessary.
  132. Current Security Team members
  133. -----------------------------
  134. For secure communications, please send your messages encrypted using the GPG
  135. keys. Remember, message headers are not encrypted so do not include sensitive
  136. information in the subject line.
  137. - Ross Burton: <ross@burtonini.com> `Public key <https://keys.openpgp.org/search?q=ross%40burtonini.com>`__
  138. - Michael Halstead: <mhalstead [at] linuxfoundation [dot] org>
  139. `Public key <https://pgp.mit.edu/pks/lookup?op=vindex&search=0x3373170601861969>`__
  140. or `Public key <https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xd1f2407285e571ed12a407a73373170601861969>`__
  141. - Richard Purdie: <richard.purdie@linuxfoundation.org> `Public key <https://keys.openpgp.org/search?q=richard.purdie%40linuxfoundation.org>`__
  142. - Marta Rybczynska: <marta DOT rybczynska [at] syslinbit [dot] com> `Public key <https://keys.openpgp.org/search?q=marta.rybczynska@syslinbit.com>`__
  143. - Steve Sakoman: <steve [at] sakoman [dot] com> `Public key <https://keys.openpgp.org/search?q=steve%40sakoman.com>`__