首页 / 操作系统 / Linux / 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数据库后端时在实现上存在安全漏洞,攻击者可利用此漏洞获取未授权访问权限。在 Ubuntu 12.04 上安装 GitLab http://www.linuxidc.com/Linux/2012-12/75249.htmGitLab 5.3 升级注意事项 http://www.linuxidc.com/Linux/2013-06/86473.htm在 CentOS 上部署 GitLab (自托管的Git项目仓库) http://www.linuxidc.com/Linux/2013-06/85754.htm在RHEL6/CentOS6/ScientificLinux6上安装GitLab 6.0.2 http://www.linuxidc.com/Linux/2014-03/97831.htmCentOS 6.5安装GitLab教程及相关问题解决 http://www.linuxidc.com/Linux/2014-05/101526.htm
<*来源:joernchen
*>建议:
--------------------------------------------------------------------------------
临时解决方法:
如果您不能立刻安装补丁或者升级,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/gitlabhqGitLab 的详细介绍:请点这里
GitLab 的下载地址:请点这里