2018-04-17 12:50:16 -04:00
<!--
# Read me first!
2021-01-19 16:10:45 -05:00
Create this issue under https://gitlab.com/gitlab-org/security/gitlab
2018-04-17 12:50:16 -04:00
2019-01-28 06:21:42 -05:00
Set the title to: `Description of the original issue`
2018-04-17 12:50:16 -04:00
-->
2019-12-18 13:08:04 -05:00
## Prior to starting the security release work
2018-04-17 12:50:16 -04:00
- [ ] Read the [security process for developers] if you are not familiar with it.
2021-08-09 17:08:54 -04:00
- [ ] Make sure the issue really needs to follow the security release workflow.
2020-12-23 16:10:24 -05:00
- Verify if the issue you're working on `gitlab-org/gitlab` is confidential, if it's public fix should be placed on GitLab canonical and no backports are required.
2021-08-09 17:08:54 -04:00
- If the issue you're fixing doesn't appear to be something that can be exploited by a malicious person and is instead simply a security enhancement do not hesitate to ping `@gitlab-com/gl-security/appsec` to discuss if the issue can be fixed in the canonical repository.
2021-11-04 11:10:58 -04:00
- [ ] **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-07-01 17:08:38 -04:00
MUST be linked for the release bot to know that the associated merge requests should be merged for this security release.
2020-02-24 19:09:12 -05:00
- 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.
2021-07-01 17:08:38 -04:00
- [ ] Add one of the `~severity::x` labels to the issue and all associated merge requests.
2018-04-17 12:50:16 -04:00
2019-12-18 13:08:04 -05:00
## Development
2018-04-17 12:50:16 -04:00
2020-07-07 17:09:13 -04:00
- [ ] Run `scripts/security-harness` in your local repository to prevent accidentally pushing to any remote besides `gitlab.com/gitlab-org/security` .
2019-12-18 13:08:04 -05:00
- [ ] 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].
2018-04-17 12:50:16 -04:00
2020-07-07 17:09:13 -04:00
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-12-18 13:08:04 -05:00
## Backports
2018-04-17 12:50:16 -04:00
2019-12-18 13:08:04 -05:00
- [ ] Once the MR is ready to be merged, create MRs targeting the latest 3 stable branches
2021-08-20 14:12:04 -04:00
* The 3 stable branches correspond to the versions in the title of the Security Release Tracking Issue.
2019-12-18 13:08:04 -05:00
* 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-09-16 11:09:32 -04:00
* Every merge request will have its own set of to-dos, so make sure to complete those.
2020-08-05 14:09:49 -04:00
- [ ] 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-12-18 13:08:04 -05:00
## Documentation and final details
2018-04-17 12:50:16 -04:00
2019-12-18 13:08:04 -05:00
- [ ] Ensure the [Links section ](#links ) is completed.
2020-04-29 17:09:31 -04:00
- [ ] 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 )
2020-04-21 20:09:24 -04:00
* The Git history of the files affected may help you associate the issue with a [release ](https://about.gitlab.com/releases/ )
2018-04-17 12:50:16 -04:00
- [ ] 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 )
2018-04-18 05:37:55 -04:00
- [ ] Add the nickname of the external user who found the issue (and/or HackerOne profile) to the Thanks row in the [details section ](#details )
2018-04-17 12:50:16 -04:00
2019-12-18 13:08:04 -05:00
## Summary
2018-06-01 15:39:38 -04:00
2019-12-18 13:08:04 -05:00
### Links
2018-04-17 12:50:16 -04:00
| Description | Link |
| -------- | -------- |
2020-02-24 19:09:12 -05:00
| Issue on [GitLab ](https://gitlab.com/gitlab-org/gitlab/issues ) | #TODO |
2018-04-17 12:50:16 -04:00
2019-12-18 13:08:04 -05:00
### Details
2018-04-17 12:50:16 -04:00
| Description | Details | Further details|
| -------- | -------- | -------- |
| Versions affected | X.Y | |
2020-07-30 17:09:35 -04:00
| GitLab EE only | Yes/No | |
2018-04-17 12:50:16 -04:00
| Upgrade notes | | |
| GitLab Settings updated | Yes/No| |
| Migration required | Yes/No | |
2018-04-18 05:37:55 -04:00
| Thanks | | |
2018-04-17 12:50:16 -04:00
2018-04-18 05:37:55 -04:00
[security process for developers]: https://gitlab.com/gitlab-org/release/docs/blob/master/general/security/developer.md
2020-06-22 17:08:42 -04:00
[secpick documentation]: https://gitlab.com/gitlab-org/release/docs/-/blob/master/general/security/utilities/secpick_script.md
2019-12-18 13:08:04 -05:00
[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-08 14:09:32 -04:00
[issue as linked]: https://docs.gitlab.com/ee/user/project/issues/related_issues.html#add-a-linked-issue
2018-04-17 12:50:16 -04:00
2018-08-15 03:27:59 -04:00
/label ~security