GitLab存在任意用户密码重置漏洞(CVE-2023-7028)

发布时间:2024年01月19日

漏洞概况

GitLab是一个开源的仓库管理系统,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。它类似于GitHub,能够浏览源代码,管理缺陷和注释。

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

影响版本

16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.1 16.2 16.3 16.4 16.5 16.6 16.7

漏洞利用条件

1)需要一个系统已有用户注册邮箱地址

2)gitlab启用了邮箱登录

3)未开启多因素认证

问题点

找回密码处

接口:/users/password

漏洞复现

看gitlab的版本是否受影响

访问/assets/webpack/manifest.json接口拿到下面的hash值

访问https://github.com/righel/gitlab-version-nse/blob/main/gitlab_hashes.json 比较hash值

当Gitlab启用邮箱登录、启用SMTP时,向密码重置接口发送payload,此步骤需要掌握一个已知邮箱账户

请求包的内容为:user[email][]=目标邮箱地址&user[email][]=攻击者邮箱地址

攻击者邮箱收到该账户密码的重置邮件

攻击排查方法

?排查gitlab-rails/production_json.log日志中是否有访问/users/password接口,且参数中包含多个邮件地址

?排查gitlab-rails/audit_json.log日志中是否有PasswordsController#create的调用记录,且参数中包含多个邮件地址

修复方案

1、官方修复方案:

目前官方已发布最新补丁,请尽快前往下载更新:GitLab Critical Security Release: 16.7.2, 16.6.4, 16.5.6|GitLab

2、临时修复方案:

非必要,不要将GitLab开放到公网如果GitLab开放到公网,可为所有 GitLab 帐户启用双因素身份验证

参考链接

https://blog.csdn.net/m0_64366018/article/details/135566325

https://x.threatbook.com/v5/article?threatInfoID=100632

专注分享安全知识,大家可以关注一下我的微信公众号,谢谢大家!

文章来源:https://blog.csdn.net/qq_32947907/article/details/135623365
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。