2019-09-23 16:28:23 -07:00
|
|
|
# Security Release Process
|
|
|
|
|
2019-12-16 16:38:27 -05:00
|
|
|
The security release process covers the steps required to plan/implement a
|
|
|
|
security release. This document is copied into the description of the Next
|
2020-04-19 16:40:18 +08:00
|
|
|
Security Release, and used to track progress on the release. It contains ***TEXT
|
2020-02-07 11:10:27 -08:00
|
|
|
LIKE THIS*** which will be replaced during the release process with the
|
|
|
|
information described.
|
2019-09-23 16:28:23 -07:00
|
|
|
|
|
|
|
## Planning
|
|
|
|
|
2020-02-07 11:10:27 -08:00
|
|
|
* [ ] Open an [issue](https://github.com/nodejs-private/node-private) titled
|
|
|
|
`Next Security Release`, and put this checklist in the description.
|
2019-09-23 16:28:23 -07:00
|
|
|
|
2019-12-16 16:38:27 -05:00
|
|
|
* [ ] Get agreement on the list of vulnerabilities to be addressed:
|
2020-02-07 11:10:27 -08:00
|
|
|
* ***H1 REPORT LINK***: ***DESCRIPTION*** (***CVE or H1 CVE request link***)
|
|
|
|
* v10.x, v12.x: ***LINK to PR URL***
|
|
|
|
* ...
|
|
|
|
|
|
|
|
* [ ] PR release announcements in [private](https://github.com/nodejs-private/nodejs.org-private):
|
|
|
|
* (Use previous PRs as templates, don't forget to update the site banner, and
|
|
|
|
the date in the slug so that it will move to the top of the blog list.)
|
|
|
|
* [ ] pre-release: ***LINK TO PR***
|
|
|
|
* [ ] post-release: ***LINK TO PR***
|
2019-09-23 16:28:23 -07:00
|
|
|
|
2019-12-16 16:38:27 -05:00
|
|
|
* [ ] Get agreement on the planned date for the release: ***RELEASE DATE***
|
2019-09-23 16:28:23 -07:00
|
|
|
|
2020-02-07 11:10:27 -08:00
|
|
|
* [ ] Get release team volunteers for all affected lines:
|
|
|
|
* v12.x: ***NAME of RELEASER(S)***
|
|
|
|
* ... other lines, if multiple releasers
|
|
|
|
|
|
|
|
## Announcement (one week in advance of the planned release)
|
2019-09-23 16:28:23 -07:00
|
|
|
|
2020-02-07 11:10:27 -08:00
|
|
|
* [ ] Check that all vulnerabilities are ready for release integration:
|
|
|
|
* PRs against all affected release lines or cherry-pick clean
|
|
|
|
* Approved
|
|
|
|
* Pass `make test`
|
|
|
|
* Have CVEs
|
|
|
|
* Described in the pre/post announcements
|
2019-09-23 16:28:23 -07:00
|
|
|
|
2020-02-07 11:10:27 -08:00
|
|
|
* [ ] Pre-release announcement [email][]: ***LINK TO EMAIL***
|
|
|
|
(Get access from existing manager: Ben Noordhuis, Rod Vagg, Michael Dawson)
|
2019-09-23 16:28:23 -07:00
|
|
|
|
2020-02-07 11:10:27 -08:00
|
|
|
* [ ] Pre-release announcement to nodejs.org blog: ***LINK TO BLOG***
|
|
|
|
(Re-PR the pre-approved branch from nodejs-private/nodejs.org-private to
|
|
|
|
nodejs/nodejs.org)
|
2019-09-23 16:28:23 -07:00
|
|
|
|
2020-02-07 11:10:27 -08:00
|
|
|
* [ ] Request releaser(s) to start integrating the PRs to be released.
|
|
|
|
|
|
|
|
* [ ] Notify [docker-node][] of upcoming security release date: ***LINK***
|
|
|
|
|
|
|
|
* [ ] Notify build-wg of upcoming security release date by opening an issue
|
|
|
|
in [nodejs/build][] to request WG members are available to fix any CI issues.
|
2019-09-23 16:28:23 -07:00
|
|
|
|
2019-12-16 16:38:27 -05:00
|
|
|
## Release day
|
2019-09-23 16:28:23 -07:00
|
|
|
|
2020-02-07 11:10:27 -08:00
|
|
|
* [ ] [Lock CI](https://github.com/nodejs/build/blob/master/doc/jenkins-guide.md#before-the-release)
|
|
|
|
|
2019-12-16 16:38:27 -05:00
|
|
|
* [ ] The releaser(s) run the release process to completion.
|
2019-09-23 16:28:23 -07:00
|
|
|
|
2020-02-07 11:10:27 -08:00
|
|
|
* [ ] [Unlock CI](https://github.com/nodejs/build/blob/master/doc/jenkins-guide.md#after-the-release)
|
|
|
|
|
|
|
|
* [ ] Post-release announcement in reply [email][]: ***LINK TO EMAIL***
|
|
|
|
|
|
|
|
* [ ] Post-release announcement to Nodejs.org blog: ***LINK TO BLOG POST***
|
|
|
|
* (Re-PR the pre-approved branch from nodejs-private/nodejs.org-private to
|
|
|
|
nodejs/nodejs.org)
|
|
|
|
|
|
|
|
* [ ] Email `"Rachel Romoff" <rromoff@linuxfoundation.org>` to tweet an
|
|
|
|
announcement, or if you are on twitter you can just direct message the
|
|
|
|
`@nodejs` handle.
|
|
|
|
|
|
|
|
* [ ] Comment in [docker-node][] issue that release is ready for integration.
|
|
|
|
The docker-node team will build and release docker image updates.
|
|
|
|
|
|
|
|
* [ ] For every H1 report resolved:
|
|
|
|
* Close as Resolved
|
|
|
|
* Request Disclosure
|
|
|
|
* Request publication of [H1 CVE requests][]
|
|
|
|
* (Check that the "Version Fixed" field in the CVE is correct, and provide
|
|
|
|
links to the release blogs in the "Public Reference" section)
|
2019-09-23 16:28:23 -07:00
|
|
|
|
|
|
|
* [ ] PR machine-readable JSON descriptions of the vulnerabilities to the
|
|
|
|
[core](https://github.com/nodejs/security-wg/tree/master/vuln/core)
|
2019-12-16 16:38:27 -05:00
|
|
|
vulnerability DB. ***LINK TO PR***
|
2019-09-23 16:28:23 -07:00
|
|
|
|
2020-02-07 11:10:27 -08:00
|
|
|
* [ ] Close this issue
|
|
|
|
|
2019-09-23 16:28:23 -07:00
|
|
|
* [ ] Make sure the PRs for the vulnerabilities are closed.
|
|
|
|
|
2020-02-07 11:10:27 -08:00
|
|
|
[H1 CVE requests]: https://hackerone.com/nodejs/cve_requests
|
|
|
|
[docker-node]: https://github.com/nodejs/docker-node/issues)
|
|
|
|
[nodejs/build]: https://github.com/nodejs/build/issues)
|
|
|
|
[email]: https://groups.google.com/forum/#!forum/nodejs-sec
|