GitLab未经身份验证API访问漏洞(CVE-2013-4580)
发布日期:2014-05-12
更新日期:2014-05-14
受影响系统:
GitLab GitLab 6.x
描述:
--------------------------------------------------------------------------------
CVE(CAN) ID: CVE-2013-4580
GitLab,是一个利用Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
GitLab 5.4.2, Community Edition 6.2.4, Enterprise Edition 6.2.1, gitlab-shell 1.7.8之前版本使用MySQL数据库后端时在实现上存在安全漏洞,攻击者可利用此漏洞获取未授权访问权限。
建议:
--------------------------------------------------------------------------------
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您在/home/git/gitlab-shell内运用下面补丁以降低威胁:
--- a/lib/api/helpers.rb
+++ b/lib/api/helpers.rb
@@ -6,19 +6,23 @@ module API
SUDO_PARAM = :sudo
def current_user
- @current_user ||= User.find_by_authentication_token(params[PRIVATE_TOKEN_PARAM] || env[PRIVATE_TOKEN_HEADER])
+ private_token = (params[PRIVATE_TOKEN_PARAM] || env[PRIVATE_TOKEN_HEADER]).to_s
+ @current_user ||= User.find_by_authentication_token(private_token)
identifier = sudo_identifier()
厂商补丁:
GitLab
------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
https://www.gitlab.com/
https://gitlab.com/gitlab-org/gitlab-ce
https://github.com/gitlabhq/gitlabhq
GitLab 的详细介绍:请点这里
GitLab 的下载地址:请点这里