debian-mirror-gitlab/.gitlab/issue_templates/Security developer workflow.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

80 lines
5.4 KiB
Markdown
Raw Normal View History

2019-05-05 18:10:48 +05:30
<!--
# Read me first!
2021-03-11 19:13:27 +05:30
Create this issue under https://gitlab.com/gitlab-org/security/gitlab
2019-05-05 18:10:48 +05:30
Set the title to: `Description of the original issue`
-->
2020-03-07 23:17:34 +05:30
## Prior to starting the security release work
2019-05-05 18:10:48 +05:30
- [ ] Read the [security process for developers] if you are not familiar with it.
2022-04-04 11:22:00 +05:30
- [ ] Make sure the [issue really needs to follow the security release workflow].
2023-03-04 22:38:38 +05:30
- [ ] Add a `~severity::x` label to the issue and all associated merge requests.
2021-12-11 22:18:48 +05:30
- [ ] **IMPORTANT**: Mark this [issue as linked] to the Security Release Tracking Issue. You can find it [here](https://gitlab.com/gitlab-org/gitlab/-/issues?sort=created_date&state=opened&label_name[]=upcoming+security+release). This issue
2021-09-30 23:02:18 +05:30
MUST be linked for the release bot to know that the associated merge requests should be merged for this security release.
2020-03-07 23:17:34 +05:30
- Fill out the [Links section](#links):
- [ ] Next to **Issue on GitLab**, add a link to the `gitlab-org/gitlab` issue that describes the security vulnerability.
2022-04-04 11:22:00 +05:30
- [ ] If this change affects the public interface (public API or UI) of the product, post in the `#support_gitlab-com` Slack channel to explain the impact and discuss a mitigation plan for users that might be affected. If you need Support feedback or approval, reach out in `#spt_managers` Slack channel or mention `@gitlab-com/support/managers`.
2019-05-05 18:10:48 +05:30
2020-03-07 23:17:34 +05:30
## Development
2019-05-05 18:10:48 +05:30
2020-07-28 23:09:34 +05:30
- [ ] Run `scripts/security-harness` in your local repository to prevent accidentally pushing to any remote besides `gitlab.com/gitlab-org/security`.
2020-03-07 23:17:34 +05:30
- [ ] Create a new branch prefixing it with `security-`.
- [ ] Create a merge request targeting `master` on `gitlab.com/gitlab-org/security` and use the [Security Release merge request template].
2023-04-23 21:23:45 +05:30
- [ ] If this includes a breaking change, make sure to include a mention of it for the relevant versions in [`doc/update/index.md`](https://gitlab.com/gitlab-org/security/gitlab/-/blob/master/doc/update/index.md#version-specific-upgrading-instructions)
2019-05-05 18:10:48 +05:30
2020-07-28 23:09:34 +05:30
After your merge request has been approved according to our [approval guidelines] and by a team member of the AppSec team, you're ready to prepare the backports
2019-05-05 18:10:48 +05:30
2020-03-07 23:17:34 +05:30
## Backports
- [ ] Once the MR is ready to be merged, create MRs targeting the latest 3 stable branches
2021-11-11 11:23:49 +05:30
* The 3 stable branches correspond to the versions in the title of the Security Release Tracking Issue.
2020-03-07 23:17:34 +05:30
* At this point, it might be easy to squash the commits from the MR into one
* You can use the script `bin/secpick` instead of the following steps, to help you cherry-picking. See the [secpick documentation]
- [ ] Create each MR targeting the stable branch `X-Y-stable`, using the [Security Release merge request template].
2020-11-24 15:15:51 +05:30
* Every merge request will have its own set of to-dos, so make sure to complete those.
2020-10-24 23:57:45 +05:30
- [ ] On the "Related merge requests" section, ensure that `4` merge requests are associated: The one targeting `master` and the `3` backports.
- [ ] If this issue requires less than `4` merge requests, post a message on the Security Release Tracking Issue and ping the Release Managers.
2019-05-05 18:10:48 +05:30
2020-03-07 23:17:34 +05:30
## Documentation and final details
2023-03-04 22:38:38 +05:30
- [ ] To avoid release delays, please nominate a developer in a different timezone who will be able to respond to any pipeline or merge failures in your absence `@gitlab-username`
- [ ] Ensure `~severity::x` label is on this issue, all associated issues, and merge requests
2020-03-07 23:17:34 +05:30
- [ ] Ensure the [Links section](#links) is completed.
2020-05-24 23:13:21 +05:30
- [ ] Add the GitLab [versions](https://gitlab.com/gitlab-org/release/docs/-/blob/master/general/security/developer.md#versions-affected) and editions affected to the [details section](#details)
* The Git history of the files affected may help you associate the issue with a [release](https://about.gitlab.com/releases/)
2019-05-05 18:10:48 +05:30
- [ ] Fill in any upgrade notes that users may need to take into account in the [details section](#details)
- [ ] Add Yes/No and further details if needed to the migration and settings columns in the [details section](#details)
- [ ] Add the nickname of the external user who found the issue (and/or HackerOne profile) to the Thanks row in the [details section](#details)
2020-03-07 23:17:34 +05:30
## Summary
2019-05-05 18:10:48 +05:30
2020-03-07 23:17:34 +05:30
### Links
2019-05-05 18:10:48 +05:30
| Description | Link |
| -------- | -------- |
2020-03-07 23:17:34 +05:30
| Issue on [GitLab](https://gitlab.com/gitlab-org/gitlab/issues) | #TODO |
2022-03-02 08:16:31 +05:30
| CVE ID request on [`gitlab-org/cves`](https://gitlab.com/gitlab-org/cves/-/issues?sort=created_date&state=opened) | #TODO for AppSec |
2020-03-07 23:17:34 +05:30
### Details
2019-05-05 18:10:48 +05:30
| Description | Details | Further details|
| -------- | -------- | -------- |
| Versions affected | X.Y | |
2020-10-24 23:57:45 +05:30
| GitLab EE only | Yes/No | |
2019-05-05 18:10:48 +05:30
| Upgrade notes | | |
| GitLab Settings updated | Yes/No| |
| Migration required | Yes/No | |
2023-01-13 00:05:48 +05:30
| Breaking change to UI or public API | Yes/No | <!-- How should the breaking change be communicated? --> |
2019-05-05 18:10:48 +05:30
| Thanks | | |
[security process for developers]: https://gitlab.com/gitlab-org/release/docs/blob/master/general/security/developer.md
2020-07-28 23:09:34 +05:30
[secpick documentation]: https://gitlab.com/gitlab-org/release/docs/-/blob/master/general/security/utilities/secpick_script.md
2020-03-07 23:17:34 +05:30
[security Release merge request template]: https://gitlab.com/gitlab-org/security/gitlab/blob/master/.gitlab/merge_request_templates/Security%20Release.md
[approval guidelines]: https://docs.gitlab.com/ee/development/code_review.html#approval-guidelines
2021-04-29 21:17:54 +05:30
[issue as linked]: https://docs.gitlab.com/ee/user/project/issues/related_issues.html#add-a-linked-issue
2022-04-04 11:22:00 +05:30
[issue really needs to follow the security release workflow]: https://gitlab.com/gitlab-org/release/docs/-/blob/master/general/security/developer.md#making-sure-the-issue-needs-to-follow-the-security-release-workflow
2019-05-05 18:10:48 +05:30
/label ~security