-
Notifications
You must be signed in to change notification settings - Fork 122
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
doc: first version of security releases process (#306)
PR-URL: #306 Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com> Reviewed-By: Liran Tal <liran.tal@gmail.com>
- Loading branch information
Showing
3 changed files
with
109 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
# Security Release Process | ||
|
||
The security release process covers the steps required to plan/implement | ||
a security release. | ||
|
||
The steps include: | ||
|
||
* Get agreement on the list of vulnerabilities to be addressed | ||
and the planned date for the releases. This is done in an issue | ||
in the private security repo titled `Next Security Release` | ||
|
||
* 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). | ||
|
||
* One week in advance of the agreed date for the security | ||
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). | ||
|
||
* One week in advance 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. | ||
|
||
* One week in advance 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. | ||
|
||
* On the day of the release 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. | ||
* 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 | ||
|