|
| 1 | +## Planning |
| 2 | + |
| 3 | +* [X] Open an [issue](https://github.com/nodejs-private/node-private) titled |
| 4 | + `Next Security Release`, and put this checklist in the description. |
| 5 | + |
| 6 | +* [ ] Get agreement on the list of vulnerabilities to be addressed: |
| 7 | +%REPORTS% |
| 8 | + |
| 9 | +* [ ] PR release announcements in [private](https://github.com/nodejs-private/nodejs.org-private): |
| 10 | + * [ ] pre-release: %PRE_RELEASE_PRIV% |
| 11 | + * [ ] post-release: %POS_RELEASE_PRIV% |
| 12 | + * List vulnerabilities in order of descending severity |
| 13 | + * Ask the HackerOne reporter if they would like to be credited on the |
| 14 | + security release blog page |
| 15 | + |
| 16 | +* [ ] Get agreement on the planned date for the release: %RELEASE_DATE% |
| 17 | + |
| 18 | +* [ ] Get release team volunteers for all affected lines: |
| 19 | +%AFFECTED_LINES% |
| 20 | + |
| 21 | +## Announcement (one week in advance of the planned release) |
| 22 | + |
| 23 | +* [ ] Verify that GitHub Actions are working as normal: <https://www.githubstatus.com/>. |
| 24 | + |
| 25 | +* [ ] Check that all vulnerabilities are ready for release integration: |
| 26 | + * PRs against all affected release lines or cherry-pick clean |
| 27 | + * Approved |
| 28 | + * (optional) Approved by the reporter |
| 29 | + * Build and send the binary to the reporter according to its architecture |
| 30 | + and ask for a review. This step is important to avoid insufficient fixes |
| 31 | + between Security Releases. |
| 32 | + * Have CVEs |
| 33 | + * Make sure that dependent libraries have CVEs for their issues. We should |
| 34 | + only create CVEs for vulnerabilities in Node.js itself. This is to avoid |
| 35 | + having duplicate CVEs for the same vulnerability. |
| 36 | + * Described in the pre/post announcements |
| 37 | + |
| 38 | +* [ ] Pre-release announcement to nodejs.org blog: TBD |
| 39 | + (Re-PR the pre-approved branch from nodejs-private/nodejs.org-private to |
| 40 | + nodejs/nodejs.org) |
| 41 | + |
| 42 | +* [ ] Pre-release announcement [email](https://groups.google.com/forum/#!forum/nodejs-sec): TBD |
| 43 | + * Subject: `Node.js security updates for all active release lines, Month Year` |
| 44 | + |
| 45 | +* [ ] CC `oss-security@lists.openwall.com` on pre-release |
| 46 | + * [ ] Forward the email you receive to `oss-security@lists.openwall.com`. |
| 47 | + |
| 48 | +* [ ] Create a new issue in [nodejs/tweet](https://github.com/nodejs/tweet/issues) |
| 49 | + |
| 50 | +* [ ] Request releaser(s) to start integrating the PRs to be released. |
| 51 | + |
| 52 | +* [ ] Notify [docker-node](https://github.com/nodejs/docker-node/issues) of upcoming security release date: TBD |
| 53 | + |
| 54 | +* [ ] Notify build-wg of upcoming security release date by opening an issue |
| 55 | + in [nodejs/build](https://github.com/nodejs/build/issues) to request WG members are available to fix any CI issues: TBD |
| 56 | + |
| 57 | +## Release day |
| 58 | + |
| 59 | +* [ ] [Lock CI](https://github.com/nodejs/build/blob/HEAD/doc/jenkins-guide.md#before-the-release) |
| 60 | + |
| 61 | +* [ ] The releaser(s) run the release process to completion. |
| 62 | + |
| 63 | +* [ ] [Unlock CI](https://github.com/nodejs/build/blob/HEAD/doc/jenkins-guide.md#after-the-release) |
| 64 | + |
| 65 | +* [ ] Post-release announcement to Nodejs.org blog: https://github.com/nodejs/nodejs.org/pull/5447 |
| 66 | + * (Re-PR the pre-approved branch from nodejs-private/nodejs.org-private to |
| 67 | + nodejs/nodejs.org) |
| 68 | + |
| 69 | +* [ ] Post-release announcement in reply email: TBD |
| 70 | + |
| 71 | +* [ ] Create a new issue in nodejs/tweet |
| 72 | + |
| 73 | +* [ ] Comment in [docker-node][] issue that release is ready for integration. |
| 74 | + The docker-node team will build and release docker image updates. |
| 75 | + |
| 76 | +* [ ] For every H1 report resolved: |
| 77 | + * Close as Resolved |
| 78 | + * Request Disclosure |
| 79 | + * Request publication of H1 CVE requests |
| 80 | + * (Check that the "Version Fixed" field in the CVE is correct, and provide |
| 81 | + links to the release blogs in the "Public Reference" section) |
| 82 | + |
| 83 | +* [ ] PR machine-readable JSON descriptions of the vulnerabilities to the |
| 84 | + [core](https://github.com/nodejs/security-wg/tree/HEAD/vuln/core) |
| 85 | + vulnerability DB. https://github.com/nodejs/security-wg/pull/1029 |
| 86 | + * For each vulnerability add a `#.json` file, one can copy an existing |
| 87 | + [json](https://github.com/nodejs/security-wg/blob/0d82062d917cb9ddab88f910559469b2b13812bf/vuln/core/78.json) |
| 88 | + file, and increment the latest created file number and use that as the name |
| 89 | + of the new file to be added. For example, `79.json`. |
| 90 | + |
| 91 | +* [ ] Close this issue |
| 92 | + |
| 93 | +* [ ] Make sure the PRs for the vulnerabilities are closed. |
| 94 | + |
| 95 | +* [ ] PR in that you stewarded the release in |
| 96 | + [Security release stewards](https://github.com/nodejs/node/blob/HEAD/doc/contributing/security-release-process.md#security-release-stewards). |
| 97 | + If necessary add the next rotation of the steward rotation. |
0 commit comments