summaryrefslogtreecommitdiff
path: root/doc/guides/security_release_process.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/guides/security_release_process.md')
-rw-r--r--doc/guides/security_release_process.md99
1 files changed, 99 insertions, 0 deletions
diff --git a/doc/guides/security_release_process.md b/doc/guides/security_release_process.md
new file mode 100644
index 0000000000..a3db841f51
--- /dev/null
+++ b/doc/guides/security_release_process.md
@@ -0,0 +1,99 @@
+# Security Release Process
+
+The security release process covers the steps required to plan/implement
+a security release.
+
+## Planning
+
+* [ ] Open an issue in the private security repo titled `Next Security Release`
+ and add the planning checklist to the description.
+
+* [ ] Get agreement on the list of vulnerabilities to be addressed.
+
+* [ ] Get agreement on the planned date for the releases.
+
+* [ ] Once agreement on the list and date has been agreed, validate that all
+ vulnerabilities have been assigned a CVE following the
+ [cve_management_process](https://github.com/nodejs/security-wg/blob/master/processes/cve_management_process.md).
+
+* [ ] Co-ordinate with the Release team members to line up one or more releasers
+ to do the releases on the agreed date.
+
+* [ ] Prep for the pre-security announcement and final security annoucement by
+ getting agreement on drafts following the
+ [security_announcement_process](https://github.com/nodejs/security-wg/blob/master/processes/security_annoucement_process.md).
+
+## Announcement (one week in advance of the planned release)
+
+* [ ] Ensure the pre-announce is sent out as outlined in the
+ [security_announcement_process](https://github.com/nodejs/security-wg/blob/master/processes/security_annoucement_process.md).
+
+* [ ] Open an issue in the build working repository with a notification of the
+ date for the security release. Use this issue to co-ordinate with the build
+ team to ensure there will be coverage/availability of build team resources the
+ day of the release. Those who volunteer from the build WG should be available
+ in node-build during the release in case they are needed by the individual
+ doing the release.
+
+* [ ] Send an email to the docker official image
+ [maintainers](https://github.com/docker-library/official-images/blob/master/MAINTAINERS)
+ with an FYI that security releases will be going out on the agreed date.
+
+* [ ] Open an issue in the [docker-node](https://github.com/nodejs/docker-node)
+ repo and get one or more volunteers to be available to review the PR to update
+ Node.js versions in the docker-node repo immediately after the release.
+
+* [ ] Call on the sec release volunteer(s) to start integrating the PRs, running
+ the CI jobs, and generally prepping the release.
+
+## Release day
+
+* [ ] Co-ordinate with the Release team members and keep up to date on progress.
+ Get an guesstimate of when releases may be ready and send an FYI to the docker
+ offical image
+ [maintainers](https://github.com/docker-library/official-images/blob/master/MAINTAINERS).
+
+* [ ] When the releases are promoted, ensure the final announce goes out as per
+ the
+ [security_announcement_process](https://github.com/nodejs/security-wg/blob/master/processes/security_annoucement_process.md).
+
+* [ ] Create a PR to update the Node.js version in the official docker images.
+ * Checkout the docker-node repo.
+ * Run the update.sh using the `-s` option so that ONLY the Node.js
+ versions are updated. At the request from docker (and because
+ it is good practice) we limit the changes to those necessary in
+ security updates.
+ * Open a PR and get volunteer lined up earlier to approve.
+ * Merge the PR with the merge button.
+ * Checkout the [official-images](https://github.com/docker-library/official-images)
+ repository .
+ * In the docker-node repository run the
+ [generate-stackbrew-library.sh]( https://github.com/nodejs/docker-node/blob/master/generate-stackbrew-library.sh)
+ script and replace official-images/library/node with the output generated.
+```shell
+$ ./generate-stackbrew-library.sh > .../official-images/library/node
+```
+ * Open a PR with the changes to official-images/library/node making sure to
+ @mention the official images.
+ [maintainers](https://github.com/docker-library/official-images/blob/master/MAINTAINERS).
+ In addition, make sure to prefix the PR title with `[security]`.
+ * Send an email to the
+ [maintainers](https://github.com/docker-library/official-images/blob/master/MAINTAINERS)
+ indicating that the PR is open.
+
+* [ ] Ensure that the announced CVEs are reported to Mitre as per the
+ [cve_management_process](https://github.com/nodejs/security-wg/blob/master/processes/cve_management_process.md).
+
+* [ ] Ensure that the announced CVEs are updated in the cve-management
+ repository as per the the
+ [cve_management_process](https://github.com/nodejs/security-wg/blob/master/processes/cve_management_process.md)
+ so that they are listed under Announced.
+
+* [ ] PR machine-readable JSON descriptions of the vulnerabilities to the
+ [core](https://github.com/nodejs/security-wg/tree/master/vuln/core)
+ vulnerability DB.
+
+* [ ] Make sure the PRs for the vulnerabilities are closed.
+
+* [ ] Ensure the issue in the private security repo for the release is closed
+ out.