代码仓库漏洞修复及思考

简介: #我修复的影响最深的一个Bug

近日,云安全中心帮我们拦截了一个风险。我们立即进行了修复,这是最近我修复的印象最深的一个Bug。该漏洞与2021年10月28日,阿里云应急响应中心监测到近日互联网上披露 CVE-2021-22205 Gitlab exiftool 远程命令执行漏洞在野利用事件。

image.png

 

GitLab 一款基于Git 的完全集成的软件开发平台。 GitLab 占据了三分之二的自托管(self-hosted) Git 市场。我们公司也是其中一员。在中国互联网企业中占用率是非常高的。在信通院发布的《中国 DevOps 现状调查报告(2021)》中指出:“调查显示,有 53.45% 受访者所在企业通过 GitLab 进行代码管理。此外,还有 27.67%、24.91%和 23.75%的企业使用代码管理工具 Gerrit、Github 和 SVN。” GitLab 以 53.45% 的占比稳居第一。2021年10月,阿里云应急响应中心监测到互联网上披露 CVE-2021-22205 Gitlab exiftool 远程命令执行漏洞在野利用事件及其新型利用方式,由于 Gitlab 某些端点路径无需授权,攻击者可在无需认证的情况下完成图片上传,从而执行任意命令。

image.png

自托管市场


image.png

中国市场代码管理份额统计

 

收到安全提醒引起我们的重视。指定了升级预案第一时间处理该问题。源代码安全重要性对于企业来讲不言而喻,是软件开发企业健康发展的核心要务、不论是早期的产品研发,还是后期产品的运营、更新迭代。长远的视角看,源代码安全对于开发企业就是其发展生命的保障。保护源代码安全可以防止企业代码外泄有利于保护企业的合法权益及保障公司的研究成果。防止机密数据外泄是企业发展的基本要求。

 

 

影响版本

参考:https://gitlab.com/gitlab-org/cves/-/blob/master/2021/CVE-2021-22205.json

11.9 <= GitLab(CE/EE)< 13.8.8

13.9 <= GitLab(CE/EE)< 13.9.6

13.10 <= GitLab(CE/EE)< 13.10.3

image.png

 

安全版本

GitLab(CE/EE) 13.8.8

GitLab(CE/EE) 13.9.6

GitLab(CE/EE) 13.10.3

上传图像文件时,GitLab Workhorse 会将扩展名为jpg|jpeg|tiff 的任何文件传递给ExifTool,以删除任何未列入白名单的标签。一个问题是 ExifTool 将忽略文件扩展名并尝试根据内容确定文件是什么,允许通过重命名上传的文件来命中任何支持的解析器,而不仅仅是 JPEG 和 TIFF。发现该问题,我们第一时间进行复现:

创建一个新片段,在描述字段中,点击“附加文件”,任何能够通过 GitLab Workhorse 上传图像的人都可以通过特制的文件实现 RCE。

image.png

 

虽然云上的主机可以利用云安全组功能设置 Gitlab 仅对可信地址开放由于该漏洞评分高达CVSS 9.9 ,因我们使用的版本为12.10.1,尽快升级Gitlab至最新版本应该是最好的选择我们立即对代码仓库的升级操作,由于升级不能跨越大版本号,因此只能升级到当前大版本号到最高版本,方可升级到下一个大版本号。版本路径如下12.10.1--->12.10.14-------> 13.0.14 ---> 13.1.11 ---> 13.8.8 ---> 13.12.10--->13.12.12。

下图为官方升级路径:

image.png

示例代码:

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

gitlab-ctl stop nginx

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.10.14-ce.0.el7.x86_64.rpm --no-check-certificate

rpm -Uvh gitlab-ce-12.10.14-ce.0.el7.x86_64.rpm

sudo gitlab-ctl restart

reboot

 

在我们企业中,提供代码托管、智能评审、质量检测等功能,提供删库保护等高级功能是我们急需的。云效作为云原生时代一站式DevOps平台,其中代码管理模块能解决我们企业痛点,值得推荐、也是我们企业上云的重要一环。以便我们实现安全、稳定、高效的研发生产。

在这里我也列举列举一些。更多请参考相关文档。

 

全面的代码安全保障

定时备份与代码加密精细化多级权限管控IP白名单访问控制风险问题事前监测、事中通知、事后审计源码安全/代码扫描服务

 

image.png

image.png

定时备份与代码加密

 

 

image.png

image.png

image.png

源码安全/代码扫描服务

 

企业级研发协作管理

一键串联需求/任务/缺陷无缝衔接CI/CD研发效能数据洞察

image.png

创建分支推荐和需求关联,便于代码评审

 

 

image.png

流水线

 

 

高效的代码评审

灵活的配置能力,支持轻松定制评审规范内置代码检测服务+持续集成流水线,大幅降低人工审查成本冲突智能检测+WebIDE

image.png

Pull Request请求

 

image.png

代码评审

 

这次的Gitlab漏洞出现和处理。除了处理日常的安全事件以外,更多引发了我对软件质量、软件托管、企业代码管理的诸多的思考。在云原生时代,我们更需要一个高可用、无需专人运维,高安全性的代码仓库。除了提供敏感信息检测、代码规约检测、编码安全检测、三方依赖漏洞检测等诸多开箱即用的功能,更需要能进行项目目协作、CI/CD无缝衔接,一站式的解决方案。并且通过平台数据可以让我们快速洞察研发效能,提升软件开发质量。打通软件开发生命周期的各个环节,提升企业的效能,快速应对市场变化。

 

相关文章
|
8月前
|
安全 开发工具 git
关于/.git漏洞实现文件越权下载漏洞
该文描述了如何检测和利用网站的Git泄露。首先通过dirsearch扫描确认网站是否存在Git泄露,然后使用GitHack.py脚本(可在GitHub的lijiejie/GitHack项目找到)进行下载。操作步骤包括在git文件夹内创建lib子目录,放置脚本,并在git目录下运行Python命令。示例中展示了针对http://www.baidu.com/.git的尝试,结果返回404错误,而成功情况则会列出下载的文件列表。
|
8月前
|
安全 Java Python
云效产品文档里面的依赖包漏洞检测,哪里可以配置进去呢?
云效产品文档里面的依赖包漏洞检测,哪里可以配置进去呢?
89 0
|
存储 安全 API
Joomla 4.2.8 安全和漏洞修复发布
oomla 4.2.8 现在可用。这是 Joomla! 4.x 系列的安全版本!它解决了 Web 服务 API 中的一个严重安全漏洞。北京六翼信息技术有限公司强烈建议您立即更新您的网站。
Joomla 4.2.8 安全和漏洞修复发布
|
安全 jenkins Java
CVE-2017-1000353 Jenkins漏洞复现系列(一)
Jenkins未授权远程代码执行漏洞, 允许攻击者将序列化的Java SignedObject对象传输给Jenkins CLI处理,反序列化ObjectInputStream作为Command对象,这将绕过基于黑名单的保护机制, 导致代码执行
848 0
|
存储 开发工具 git
Git之修复Bug流程
  场景描述        当一个项目已经上线,同时又在原有基础上新增功能模块,于是乎就要在原有代码的基础上进行开发,在新增模块功能的开发的过程中,项目发现了一个紧急Bug,需要修复。应对这种情况,有以下两种解决方案: # 方案一:stash        stash 用于将工作区发生...
2523 0
|
测试技术 程序员 开发工具
【Git实战】协同开发,如何紧急修复线上bug?
1. 团队协同开发时,生产环境出现bug,需要紧急修复。 2. 每位同学在本地开发,对应本地的dev分支,本地测试通过后提交到测试环境的dev分支。 3. 测试环境有其他同学提交的代码,正在测试中,无法提交到生产环境的master分支。 4. 以上情况导致我们不能在本地基于dev分支修复bug,因为会和其他同学提交的测试中的代码“撞车”,导致无法及时提及到生产环境。 5. 这个时候如何正确使用Git管理代码呢?
306 0
|
缓存 安全 PHP
Semgrep结合GitLab实现代码审计实践-服务端
为了能让开发者时时刻刻关注安全问题,我在gitlab服务端放了一个钩子,这个钩子主要是将本次提交的代码文件进行了检测,遇到可能存在安全风险的问题将其输出出来,这样开发者能够对培训的内容有更深的感受,更注重编码时候的安全问题。
690 0
Semgrep结合GitLab实现代码审计实践-服务端
|
SQL 安全 前端开发
PHP网站漏洞修复公司对于业务漏洞的修复
最近,我们公司的在线业务系统遇到了一个更为棘手的问题。该公司的网站在线商城系统遭到黑客的入侵,数据库中的用户数据被黑客盗取。由于大部分的客户信息的泄露,公司接到了客户投诉说是电话经常被骚扰,以及受到广告短信。由于缺乏专业的安全技术没有安全方面的经验,PHP系统仅限于功能的实现。看来我需要学习安全方面的一些防止SQL注入攻击的,所以我必须下定决心,努力学习网站的安全。通过不断的探索,我找到了一个比较好的PHP安全方面的书籍“PHP安全之路”。在阅读的过程中,我会把学到的东西记下来,以便将来可以进行学习回忆。
255 0
|
SQL 安全 测试技术
Thinkphp网站漏洞怎么修复解决
THINKPHP漏洞修复,官方于近日,对现有的thinkphp5.0到5.1所有版本进行了升级,以及补丁更新,这次更新主要是进行了一些漏洞修复,最严重的就是之前存在的SQL注入漏洞,以及远程代码执行查询系统的漏洞都进行了修复,官方本以为没有问题了,但是在实际的安全检测当中发现,还是存在问题,还是可以远程代码进行注入,插入非法字符,提交到服务器后端中去。
458 0
Thinkphp网站漏洞怎么修复解决
|
安全 数据库 数据安全/隐私保护
WordPress代码最新网站漏洞修复探讨
2020年,刚刚开始WordPress博客系统被网站安全检测出有插件绕过漏洞,该插件的开发公司,已升级了该插件并发布1.7版本,对以前爆出的漏洞进行了修补,该企业网站漏洞造成的原因是未经许可身份认证的普通用户给以了系统管理员权限。黑客能够以网站管理员的身份进行登陆,并可以将wp企业网站的全部数据表信息恢复为以前的模式,进而上传webshell企业网站木马代码来进行篡改企业网站。现阶段受危害的版本包含最新的WP系统。
217 0
WordPress代码最新网站漏洞修复探讨