一、背景
GitLab 是一个用于代码仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
二、漏洞版本
Gitlab CE/EE >=14.7, <14.7.7
Gitlab CE/EE >=14.8, <14.8.5
Gitlab CE/EE >=14.9, <14.9.2
三、漏洞修复
升级版本至:
Gitlab CE/EE >=14.7.7
Gitlab CE/EE >=14.8.5
Gitlab CE/EE >=14.9.2
四、问题分析
据官方描述,系统会默认给使用了 OmniAuth 程序(例如 OAuth、LDAP、SAML)注册的帐户设置一个硬编码密码,从而允许攻击者可直接通过该硬编码密码登录并接管帐户。漏洞原因出现在下面文件:
https://github.com/gitlabhq/gitlabhq/blob/v14.9.1/lib/gitlab/password.rb
可以看到默认硬编码密码为123qweQWE!@#加最大密码长度-12个0。
此文件在新版本已被删除。