1
1
# Security Release Process
2
2
3
- The security release process covers the steps required to plan/implement
4
- a security release.
3
+ The security release process covers the steps required to plan/implement a
4
+ 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
8
6
9
## Planning
7
10
8
11
* [ ] Open an issue in the private security repo titled ` Next Security Release `
9
- and add the planning checklist to the description.
12
+ and add this planning checklist to the description.
10
13
11
- * [ ] Get agreement on the list of vulnerabilities to be addressed.
14
+ * [ ] Get agreement on the list of vulnerabilities to be addressed:
15
+ * *** LINKS TO VULNS...***
12
16
13
- * [ ] Get agreement on the planned date for the releases.
17
+ * [ ] Get agreement on the planned date for the release: *** RELEASE DATE ***
14
18
15
- * [ ] Once agreement on the list and date has been agreed, validate that all
16
- vulnerabilities have been assigned a CVE following the
17
- [ cve_management_process] ( https://github.com/nodejs/security-wg/blob/master/processes/cve_management_process.md ) .
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 ) .
18
23
19
24
* [ ] Co-ordinate with the Release team members to line up one or more releasers
20
- to do the releases on the agreed date.
25
+ to do the releases on the agreed date. Releaser: *** NAME of RELEASER(S) ***
21
26
22
- * [ ] Prep for the pre-security announcement and final security announcement by
23
- getting agreement on drafts following the
24
- [ security_announcement_process] ( https://github.com/nodejs/security-wg/blob/master/processes/security_annoucement_process.md ) .
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***
25
31
26
32
## Announcement (one week in advance of the planned release)
27
33
28
- * [ ] Ensure the pre-announce is sent out as outlined in the
29
- [ security_announcement_process] ( https://github.com/nodejs/security-wg/blob/master/processes/security_annoucement_process.md ) .
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 blog
40
+ (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 leave 1 hour for review. After one hour
44
+ even if no reviews, land anyway so that we don't have too big a gap between
45
+ post to nodejs-sec and blog. Text was already reviewed in security repo so is
46
+ unlikely to attract much additional comment. *** LINK TO BLOG PR AND POST***
30
47
31
48
* [ ] Open an issue in the build working repository with a notification of the
32
49
date for the security release. Use this issue to co-ordinate with the build
33
50
team to ensure there will be coverage/availability of build team resources the
34
51
day of the release. Those who volunteer from the build WG should be available
35
- in node- build during the release in case they are needed by the individual
36
- doing the release.
52
+ in node/ build during the release in case they are needed by the individual
53
+ doing the release. *** LINK TO BUILD ISSUE ***
37
54
38
- * [ ] Send an email to the docker official image
39
- [ maintainers] ( https://github.com/docker-library/official-images/blob/master/MAINTAINERS )
40
- with an FYI that security releases will be going out on the agreed date.
55
+ ## Release day
41
56
42
- * [ ] Open an issue in the [ docker-node] ( https://github.com/nodejs/docker-node )
43
- repo and get one or more volunteers to be available to review the PR to update
44
- Node.js versions in the docker-node repo immediately after the release.
57
+ * [ ] The releaser(s) run the release process to completion.
45
58
46
- * [ ] Call on the sec release volunteer(s) to start integrating the PRs, running
47
- the CI jobs, and generally prepping the release.
59
+ * [ ] Send post-release announcement as a reply to the
60
+ original message in https://groups.google.com/forum/#!forum/nodejs-sec
61
+ *** LINK TO EMAIL***
48
62
49
- ## Release day
63
+ * [ ] Update the blog post in
64
+ https://github.com/nodejs/nodejs.org/tree/master/locale/en/blog/vulnerability
65
+ with the information that releases are available and the full
66
+ vulnerability details. Keep the original blog content at the
67
+ bottom of the blog. Use this as an example:
68
+ https://github.com/nodejs/nodejs.org/blob/master/locale/en/blog/vulnerability/june-2016-security-releases.md .
69
+ Make sure to update the date in the slug so that it will move to
70
+ the top of the blog list, and not that it updates the
71
+ banner on Node.js org to indicate the security release(s) are
72
+ available. *** LINK TO PR***
50
73
51
- * [ ] Co-ordinate with the Release team members and keep up to date on progress.
52
- Get an guesstimate of when releases may be ready and send an FYI to the docker
53
- official image
54
- [ maintainers ] ( https://github.com/docker-library/official-images/blob/master/MAINTAINERS ) .
74
+ * Note * : If the release blog obviously points to the people having caused the
75
+ issue (for example when explicitly mentioning reverting a commit), adding
76
+ those people as a CC on the PR for the blog post to give them a heads up
77
+ might be appropriate .
55
78
56
- * [ ] When the releases are promoted, ensure the final announce goes out as per
57
- the
58
- [ security_announcement_process] ( https://github.com/nodejs/security-wg/blob/master/processes/security_annoucement_process.md ) .
79
+ * [ ] Email foundation contact to tweet out nodejs-sec announcement from
80
+ foundation twitter account. FIXME - who is this contact?
59
81
60
82
* [ ] Create a PR to update the Node.js version in the official docker images.
61
83
* Checkout the docker-node repo.
@@ -81,19 +103,19 @@ a security release.
81
103
[maintainers](https://github.com/docker-library/official-images/blob/master/MAINTAINERS)
82
104
indicating that the PR is open.
83
105
84
- * [ ] Ensure that the announced CVEs are reported to Mitre as per the
85
- [cve_management_process](https://github.com/nodejs/security-wg/blob/master/processes/cve_management_process.md).
86
-
87
- * [ ] Ensure that the announced CVEs are updated in the cve-management
88
- repository as per the
89
- [cve_management_process](https://github.com/nodejs/security-wg/blob/master/processes/cve_management_process.md)
90
- so that they are listed under Announced.
106
+ * [ ] If we allocated CVES:
107
+ * [ ] Ensure that the announced CVEs are reported to Mitre as per the
108
+ [cve_management_process](https://github.com/nodejs/security-wg/blob/master/processes/cve_management_process.md).
109
+ * [ ] Ensure that the announced CVEs are updated in the cve-management
110
+ repository as per the
111
+ [cve_management_process](https://github.com/nodejs/security-wg/blob/master/processes/cve_management_process.md)
112
+ so that they are listed under Announced.
91
113
92
114
* [ ] PR machine-readable JSON descriptions of the vulnerabilities to the
93
115
[core](https://github.com/nodejs/security-wg/tree/master/vuln/core)
94
- vulnerability DB.
116
+ vulnerability DB. ***LINK TO PR***
95
117
96
118
* [ ] Make sure the PRs for the vulnerabilities are closed.
97
119
98
- * [ ] Ensure the issue in the private security repo for the release is closed
120
+ * [ ] Ensure this issue in the private security repo for the release is closed
99
121
out.
0 commit comments