专栏首页FreeBuf【漏洞预警】GitLab曝高危漏洞,可致private token等敏感信息泄露

【漏洞预警】GitLab曝高危漏洞,可致private token等敏感信息泄露

GitLab于昨日发布了8.17.4、8.16.8和8.15.8版本(社区版和企业版),修复多个高危漏洞,包含一个针对关键信息泄露漏洞的更新补丁,针对SSRF攻击的防护,以及针对可导致Atom源中私有邮件地址泄露漏洞的补丁,ElasticSearch中私有库数据泄露的补丁等。

GitLab特别在其更新日志中提到,在内部代码审核过程中,在GitLab Issue和Merge Request tracker中发现一个Critical级别的高危漏洞,并因此强烈建议受影响用户尽快升级。

漏洞编号

CVE-2017-0882

漏洞介绍

漏洞可导致拥有向其他用户发送issue或merge请求权限的攻击者获取到该用户的private token, email token, email地址和加密的OTP secret。想要利用漏洞需要有Reporter级别的权限。通过Gitlab API和这些敏感信息,就能以该用户权限进行操作,如果目标用户是管理员则可能产生更大危害。

造成漏洞的原因是对用户对象序列化过程中的一个bug,这个问题自GitLab 8.7.0版本就开始出现。

影响版本

8.7.0至8.15.7 8.16.0至8.16.7 8.17.0至8.17.3

升级后注意事项

由于漏洞的性质,用户的token可能会缓存在代理或浏览器中。因此建议站长们重置所有用户的private token和email token。

一次性密码(OTP)的secret也有可能因漏洞而泄露。这些secret都经过加密,需要密钥才能解密,并且不能在没有用户密码的情况下使用。尽管如此, 还是建议先将一次性密码功能关闭然后再重新打开,从而重置OTP secret。

重置用户Tokens步骤

使用Omnibus的用户将下面的源码保存到: /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/reset_token.rake

使用源码安装的用户保存到: <gitlab_installation_dir>/lib/tasks/reset_token.rake

Omnibus用户运行

sudo gitlab-rake tokens:reset_allsudo gitlab-rake tokens:reset_all_email

源码用户运行

sudo -u git -H bundle exec rake tokens:reset_all RAILS_ENV=production sudo -u git -H bundle exec rake tokens:reset_all_email RAILS_ENV=production

执行完所有操作后可以把rake文件删除。

临时补丁

对于某些无法升级的用户可以使用以下的补丁:

Omnibus用户:

$ cd /opt/gitlab/embedded/service/gitlab-rails/$ git apply <path_to_diff>$ sudo gitlab-ctl restart unicorn

源码用户:

$ cd <gitlab_installation_dir/ $ git apply <path_to_diff>

检验漏洞是否修复

打开项目; 打开项目的issue跟踪器; 创建一个issue,将issue拥有权限分配给另一个用户; 查看返回的JSON,检查其中是否有敏感信息。

相关本次发布GitLab新版本修复的更多漏洞,如SSRF漏洞、关键信息泄露漏洞等内容可参见GitLab的安全公告。

本文分享自微信公众号 - FreeBuf(freebuf),作者:Sphinx

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-03-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CVE-2019-14287:sudo权限绕过漏洞分析与复现

    有的用户可能知道,如果将sudo配置为允许用户通过Runas规范中定义的ALL关键字来以任意用户身份运行命令的话,那么攻击者将有可能通过制定用户ID -1或42...

    FB客服
  • BUF大事件丨1780个流行安卓APP违反加密规则;工信部通报101款违规APP

    本周BUF大事件还是为大家带来了新鲜有趣的安全新闻,1780个流行的Android应用程序全都违反加密规则;工信部通报101款侵害用户权益行为APP;英特尔修复...

    FB客服
  • 无线键盘易被监听,不知不觉导致信息泄露

    在用户使用计算机时,键盘是信息输入的主要媒介,键盘输入包含大量的私人机密信息,包括帐号密码等,所以键盘侦听被各种攻击者所大量采用,成为一种普遍但是破坏力强大的攻...

    FB客服
  • [Google最新面试题] continental divider

    给一个矩阵,其中0代表海洋,其他数字代表高度, 秉着水往低处流的原则,求出能够 流向任意海洋的点。 比如说 0 0 0 1 2 3 0 0 1 2 2 4 3 ...

    包子面试培训
  • 前端测试题:关于WEB中常用的度量单位,表述错误的是?

    元素的width/height/padding/margin用em的话是相对于该元素的font-size

    舒克
  • NLP新标杆!谷歌大脑CMU联手推出XLNet,20项任务全面超越BERT

    近日,谷歌大脑主任科学家Quoc V. Le在Twitter上放出一篇重磅论文,立即引发热议:

    代码医生工作室
  • php5.6.x到php7.0.x特性小结

    本文总结分析了php5.6.x到php7.0.x特性。分享给大家供大家参考,具体如下:

    砸漏
  • 死磕 java集合之TreeMap源码分析(四)- 内含彩蛋

    这里的前中后都是以“我”的顺序为准的,我在前就是前序遍历,我在中就是中序遍历,我在后就是后序遍历。

    彤哥
  • python技术面试题(十六)--数据结构与算法

    Good judgment comes from experience, and a lot of that comes from bad judgment.

    小闫同学啊
  • iOS - 老生常谈内存管理(五):Tagged Pointer

    在objc4源码中,我们经常会在函数中看到Tagged Pointer。Tagged Pointer究竟是何方神圣?请开始阅读本文。

    师大小海腾

扫码关注云+社区

领取腾讯云代金券