GitLab 刚刚宣布修复一系列重要的安全问题,其中包括一个重要的权限提升。GitLab 强烈建议所有安装了8.2 以及后续版本的用户尽快升级。
GitLab 发现了一个严重的漏洞,可以让任何验证的身份登录其他用户的账户,包括管理员账户。这个漏洞在 GitLab8.2 版本中被发现,该漏洞提供了一个“冒充”的功能,可以让管理员冒充其他用户登录。
这个漏洞影响到了 GitLab8.2.0 至 8.7.0 版本。GitLab 工程师 Douwe Maan称这个漏洞是他们至今为止他们遇到的最麻烦的漏洞。
除了提供补丁版本的软件,GitLab 还揭露了几种方法,可以通过改变web 服务器、代理服务器的配置,或是给ruby 文件打补丁来进行补丁安装。例如,对于使用Apache web 服务器的用户,漏洞修复需要按照以下的规则进行:
<LocationMatch "^/admin/users/stop_impersonation"> Order Deny,Allow Deny from all </LocationMatch>
GitLab 还揭露了一些次要严重性的漏洞,包括:
- 通过 notes API 提升权限,可以在合并请求、片段以及用户不能访问到的问题提交 notes。
- 通过 project webhook API 提升权限,可以让通过验证的用户在个人项目中读取删除 webhooks。
- 几个 XSS 漏洞以及其他可以导致信息泄露的问题。
InfoQ 和 GitLab 工程副总裁 Stan Hu 进行了对话,了解到更多关于这次漏洞宣布和 GitLab 对这个问题的解决方法。
你可以简短地介绍一下最近公布的 GitLab 漏洞所产生的影响吗?
根据我们所了解到的,目前还没有什么公开性的影响。这些漏洞都在代码审查环节被 GitLab 的员工和安全研究人员所发现。
GitLab 经常揭露一些漏洞,并对它们遵循一种开放政策。这本身就是一个很大的加分,但有些人担心 GitLab 中漏洞的数量很多,并且经常能被发现。你可以就此发表一下评论吗?
GitLab 将持续公开安全漏洞问题。我们最优先修复安全方面的问题,每次我们收到漏洞报告的时候我们都试图可以尽快解决它。我们有数以百计的贡献者,无论是工作人员还是志愿者每天都在检查代码。
我们每个月都会发布一个新的版本提供一些新功能,修复一些错误。我们整体代码质量很高,我们尽最大努力来检查每一行代码,并进行完整的测试。我们邀请到一些网站比如说 HackerOne 的安全研究人员来帮助我们识别出 GitLab 中潜在的问题。与专有软件不同,开源项目意味着我们需要公开我们的安全问题。
可以介绍一下从首次发现漏洞到补丁发布的整个过程吗?
当我们发现 CVE–2016–4340 时,我们花了大约一小时进行了内部修复。我们首先给 GitLab.com 打补丁并迅速在私有仓库中将一些补丁移植到所有受影响的版本中去。通过 e-mail 和我们的博客,我们会告诉客户和公众安全更新的时间(5 月 2 日 23:59
UTC,礼拜一),让大家能准备好进行更新。我们和本地包的维护者共享补丁(例如 Debian,、FreeBSD 等等),他们都很感谢我们可以事先告知。在 5 月 2 日礼拜一,我们发布 GitLab 包更新,并在博客上详细介绍不能进行更新的用户的解决方案。我们发布 CVE
和 MITRE 的所有细节。我公开揭露了所有与漏洞相关的代码和问题。
查看英文原文: GitLab Discloses Critical Vulnerability, Provides Patch
感谢张龙对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论