网络安全
【漏洞预警】GitLab未授权访问漏洞可导致远程命令执行
更新日期:2016年12月14日 15:03

GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。2016年11月3日,美国众测平台HackerOne公布了GitLab的目录遍历漏洞。漏洞的发现者为Jobert Abma,同时表示该漏洞可导致远程命令执行。

gitlab-logo.png

漏洞预览

从GitLab 8.9开始,GitLab允许用户导入或者导出他们的TAR文件。在8.13.0版本之前,这个功能是只有管理员才可以使用。8.13.0版本之后,这个功能开放给的用户进行使用,只要有管理员许可。由于GitLab没有检查符号链接(symlinks),因此经过身份验证的用户可以检索任何GitLab账户中的文件,甚至是secret tokens等敏感信息。因为该漏洞可以访问到secret tokens,有了secret后,cookie可以在GitLab中被marshalled和resigned,所以该漏洞又可以导致远程命令执行。 

漏洞编号

CVE-2016-9086。 

影响版本

8.13.0至8.13.2 

8.12.0至8.12.7 

8.11.0至8.11.9 

8.10.0至8.10.12 

8.9.0至8.9.11 

修复方式

GitLab官方强烈建议所有的用户请立刻对自己的GitLab进行升级。但是注意,版本号为8.9.0至8.9.11并没有相关补丁。如果没有办法进行升级,或者无修复补丁,可以采取以下方法修补该漏洞。 

1.选择Admin Area 

2.点击settings 

3.在import sources下面关闭GitLab export这个选项 

4.点击save 

验证修复

1.首先在浏览器登录任意GitLab账号 

2.点击Projects 

3.点击New Project创建一个项目 

4.输入任意项目名称 

5.如果里面没有出现GitLab export,那么就表示漏洞已经修复 

*转载来自FreeBuf(FreeBuf.com)