Skip to content

Commit 80a8e20

Browse files
sam-githubtargos
authored andcommittedApr 22, 2020
doc: update security release process
PR-URL: #31679 Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
1 parent fe0e1db commit 80a8e20

File tree

1 file changed

+65
-91
lines changed

1 file changed

+65
-91
lines changed
 

‎doc/guides/security-release-process.md

+65-91
Original file line numberDiff line numberDiff line change
@@ -2,118 +2,92 @@
22

33
The security release process covers the steps required to plan/implement a
44
security release. This document is copied into the description of the Next
5-
Security Release, and used to track progess on the release. It contains
6-
***TEXT LIKE THIS*** which will be replaced during the release process with
7-
the information described.
5+
Security Release, and used to track progess on the release. It contains ***TEXT
6+
LIKE THIS*** which will be replaced during the release process with the
7+
information described.
88

99
## Planning
1010

11-
* [ ] Open an issue in the private security repo titled `Next Security Release`
12-
and add this planning checklist to the description.
11+
* [ ] Open an [issue](https://github.com/nodejs-private/node-private) titled
12+
`Next Security Release`, and put this checklist in the description.
1313

1414
* [ ] Get agreement on the list of vulnerabilities to be addressed:
15-
* ***LINKS TO VULNS...***
15+
* ***H1 REPORT LINK***: ***DESCRIPTION*** (***CVE or H1 CVE request link***)
16+
* v10.x, v12.x: ***LINK to PR URL***
17+
* ...
18+
19+
* [ ] PR release announcements in [private](https://github.com/nodejs-private/nodejs.org-private):
20+
* (Use previous PRs as templates, don't forget to update the site banner, and
21+
the date in the slug so that it will move to the top of the blog list.)
22+
* [ ] pre-release: ***LINK TO PR***
23+
* [ ] post-release: ***LINK TO PR***
1624

1725
* [ ] Get agreement on the planned date for the release: ***RELEASE DATE***
1826

19-
* [ ] Validate that all vulnerabilities have been assigned a CVE. Upstream deps
20-
such as OpenSSL and NPM will have CVEs, issues reported on H1 may have CVEs,
21-
otherwise allocate them by following the
22-
[cve_management_process](https://github.com/nodejs/node/blob/master/doc/guides/cve_management_process.md).
27+
* [ ] Get release team volunteers for all affected lines:
28+
* v12.x: ***NAME of RELEASER(S)***
29+
* ... other lines, if multiple releasers
30+
31+
## Announcement (one week in advance of the planned release)
2332

24-
* [ ] Co-ordinate with the Release team members to line up one or more releasers
25-
to do the releases on the agreed date. Releaser: ***NAME of RELEASER(S)***
33+
* [ ] Check that all vulnerabilities are ready for release integration:
34+
* PRs against all affected release lines or cherry-pick clean
35+
* Approved
36+
* Pass `make test`
37+
* Have CVEs
38+
* Described in the pre/post announcements
2639

27-
* [ ] Prep for the security announcements by getting agreement on drafts (use
28-
previously announced releases as the template):
29-
* pre-release: ***LINK TO COMMENT ON THIS ISSUE CONTAINING DRAFT***
30-
* post-release: ***LINK TO COMMENT ON THIS ISSUE CONTAINING DRAFT***
40+
* [ ] Pre-release announcement [email][]: ***LINK TO EMAIL***
41+
(Get access from existing manager: Ben Noordhuis, Rod Vagg, Michael Dawson)
3142

32-
## Announcement (one week in advance of the planned release)
43+
* [ ] Pre-release announcement to nodejs.org blog: ***LINK TO BLOG***
44+
(Re-PR the pre-approved branch from nodejs-private/nodejs.org-private to
45+
nodejs/nodejs.org)
3346

34-
* [ ] Send pre-release announcement to
35-
https://groups.google.com/forum/#!forum/nodejs-sec.
36-
One of the existing managers can give access (Ben
37-
Noordhuis, Rod Vagg, Michael Dawson). ***LINK TO EMAIL***
38-
39-
* [ ] Post pre-release announcement in vulnerabilities section of Nodejs.org
40-
blog (https://github.com/nodejs/nodejs.org/tree/master/locale/en/blog/vulnerability).
41-
Use last pre-release announcement as a template (it includes blog metadata
42-
such as updates to the banner on the Node.js website to indicate security
43-
releases are coming). Submit PR and land immediately. Text was already
44-
reviewed in security repo. ***LINK TO BLOG PR AND POST***
45-
46-
* [ ] Open an issue in the build working repository with a notification of the
47-
date for the security release. Use this issue to co-ordinate with the build
48-
team to ensure there will be coverage/availability of build team resources the
49-
day of the release. Those who volunteer from the build WG should be available
50-
in node/build during the release in case they are needed by the individual
51-
doing the release. ***LINK TO BUILD ISSUE***
47+
* [ ] Request releaser(s) to start integrating the PRs to be released.
48+
49+
* [ ] Notify [docker-node][] of upcoming security release date: ***LINK***
50+
51+
* [ ] Notify build-wg of upcoming security release date by opening an issue
52+
in [nodejs/build][] to request WG members are available to fix any CI issues.
5253

5354
## Release day
5455

56+
* [ ] [Lock CI](https://github.com/nodejs/build/blob/master/doc/jenkins-guide.md#before-the-release)
57+
5558
* [ ] The releaser(s) run the release process to completion.
5659

57-
* [ ] Send post-release announcement as a reply to the
58-
original message in https://groups.google.com/forum/#!forum/nodejs-sec
59-
***LINK TO EMAIL***
60-
61-
* [ ] Update the blog post in
62-
https://github.com/nodejs/nodejs.org/tree/master/locale/en/blog/vulnerability
63-
with the information that releases are available and the full
64-
vulnerability details. Keep the original blog content at the
65-
bottom of the blog. Use this as an example:
66-
https://github.com/nodejs/nodejs.org/blob/master/locale/en/blog/vulnerability/june-2016-security-releases.md.
67-
Make sure to update the date in the slug so that it will move to
68-
the top of the blog list, and not that it updates the
69-
banner on Node.js org to indicate the security release(s) are
70-
available. ***LINK TO PR***
71-
72-
*Note*: If the release blog obviously points to the people having caused the
73-
issue (for example when explicitly mentioning reverting a commit), adding
74-
those people as a CC on the PR for the blog post to give them a heads up
75-
might be appropriate.
76-
77-
* [ ] Email foundation contact to tweet out nodejs-sec announcement from
78-
foundation twitter account. FIXME - who is this contact?
79-
80-
* [ ] Create a PR to update the Node.js version in the official docker images.
81-
* Checkout the docker-node repo.
82-
* Run the update.sh using the `-s` option so that ONLY the Node.js
83-
versions are updated. At the request from docker (and because
84-
it is good practice) we limit the changes to those necessary in
85-
security updates.
86-
* Open a PR and get volunteer lined up earlier to approve.
87-
* Merge the PR with the merge button.
88-
* Checkout the [official-images](https://github.com/docker-library/official-images)
89-
repository .
90-
* In the docker-node repository run the
91-
[generate-stackbrew-library.sh]( https://github.com/nodejs/docker-node/blob/master/generate-stackbrew-library.sh)
92-
script and replace official-images/library/node with the output generated.
93-
```console
94-
$ ./generate-stackbrew-library.sh > .../official-images/library/node
95-
```
96-
* Open a PR with the changes to official-images/library/node making sure to
97-
@mention the official images.
98-
[maintainers](https://github.com/docker-library/official-images/blob/master/MAINTAINERS).
99-
In addition, make sure to prefix the PR title with `[security]`.
100-
* Send an email to the
101-
[maintainers](https://github.com/docker-library/official-images/blob/master/MAINTAINERS)
102-
indicating that the PR is open.
103-
104-
* [ ] If we allocated CVES:
105-
* [ ] Ensure that the announced CVEs are reported to Mitre as per the
106-
[cve_management_process](https://github.com/nodejs/security-wg/blob/master/processes/cve_management_process.md).
107-
* [ ] Ensure that the announced CVEs are updated in the cve-management
108-
repository as per the
109-
[cve_management_process](https://github.com/nodejs/security-wg/blob/master/processes/cve_management_process.md)
110-
so that they are listed under Announced.
60+
* [ ] [Unlock CI](https://github.com/nodejs/build/blob/master/doc/jenkins-guide.md#after-the-release)
61+
62+
* [ ] Post-release announcement in reply [email][]: ***LINK TO EMAIL***
63+
64+
* [ ] Post-release announcement to Nodejs.org blog: ***LINK TO BLOG POST***
65+
* (Re-PR the pre-approved branch from nodejs-private/nodejs.org-private to
66+
nodejs/nodejs.org)
67+
68+
* [ ] Email `"Rachel Romoff" <rromoff@linuxfoundation.org>` to tweet an
69+
announcement, or if you are on twitter you can just direct message the
70+
`@nodejs` handle.
71+
72+
* [ ] Comment in [docker-node][] issue that release is ready for integration.
73+
The docker-node team will build and release docker image updates.
74+
75+
* [ ] For every H1 report resolved:
76+
* Close as Resolved
77+
* Request Disclosure
78+
* Request publication of [H1 CVE requests][]
79+
* (Check that the "Version Fixed" field in the CVE is correct, and provide
80+
links to the release blogs in the "Public Reference" section)
11181

11282
* [ ] PR machine-readable JSON descriptions of the vulnerabilities to the
11383
[core](https://github.com/nodejs/security-wg/tree/master/vuln/core)
11484
vulnerability DB. ***LINK TO PR***
11585

86+
* [ ] Close this issue
87+
11688
* [ ] Make sure the PRs for the vulnerabilities are closed.
11789

118-
* [ ] Ensure this issue in the private security repo for the release is closed
119-
out.
90+
[H1 CVE requests]: https://hackerone.com/nodejs/cve_requests
91+
[docker-node]: https://github.com/nodejs/docker-node/issues)
92+
[nodejs/build]: https://github.com/nodejs/build/issues)
93+
[email]: https://groups.google.com/forum/#!forum/nodejs-sec

0 commit comments

Comments
 (0)
Please sign in to comment.