1. 漏洞概述
漏洞威胁等级:高危。
2. 漏洞详情
GitLab 是由GitLab Inc.开发的基于Git的软件开发平台,2024年1月12日,官方发布通告修复了多个漏洞,其中包括 CVE-2023-7028 GitLab 任意用户密码重置漏洞。
攻击者可利用忘记密码功能,构造恶意请求获取密码重置链接从而重置密码。建议相关客户尽快修复漏洞。
3. 影响版本
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
4. 处置建议
1、目前这些漏洞已经修复,受影响用户可升级到GitLab CE/EE 版本16.5.6、16.6.4 和16.7.2。此外,CVE-2023-7028的安全修复程序已向后移植到GitLab版本16.1.6、16.2.9、16.3.7和16.4.5。
下载链接:
https://about.gitlab.com/
注:针对CVE-2023-7028,SSO 用户(例如 SAML)会受到影响,但 LDAP 用户不会受到影响,因为没有忘记/重置密码选项。此外,启用了双因素身份验证的用户很容易受到密码重置的影响,但帐户不会被接管,因为需要第二个身份验证因素才能登录。
2、临时措施:
补丁进行下载并安装。针对CVE-2023-7028:
建议升级到当前最新修复版本,如无法立即升级,可为所有 GitLab 帐户启用双因素身份验证(2FA),尤其是具有高级权限的用户(例如管理员帐户);如果已经启用了2FA,威胁者将无法接管该帐户,但其可能仍然能够重置密码,但无法访问第二因素身份验证方法。
用户可以查看日志以检查是否存在可能的漏洞利用尝试:
检查 gitlab-rails/production_json.log,以查看是否存在指向/users/password 路径的 HTTP 请求,其中包含params.value.email,由具有多个电子邮件地址的json数组组成。
检查gitlab-rails/audit_json.log,以查找包含meta.caller.id的PasswordsController#create和target_details的条目,这些条目由具有多个电子邮件地址的json数组组成。
3、参考链接:
https://about.gitlab.com/releases/2024/01/11/critical-security-release-gitlab-16-7-2-released/
https://nvd.nist.gov/vuln/detail/CVE-2023-7028