专栏首页黑白安全Git 曝任意代码执行漏洞,所有使用者都受影响

Git 曝任意代码执行漏洞,所有使用者都受影响

Git 由于在处理子模块代码库的设置档案存在漏洞,导致开发者可能遭受任代码执行攻击,多数代码托管服务皆已设置拒绝有问题的代码储存库,但建议使用者尽快更新,避免不必要的风险。

Microsoft Visual Studio 团队服务项目经理 Edward Thomson May 在 DevOps 博客中提到,Git 社区最近发现 Git 存在一个漏洞,允许黑客执行任意代码。 他敦促开发人员尽快更新客户端应用程序。 微软还采取了进一步措施,防止恶意代码库被推入微软的 VSTS(Visual Studio Team Services)。

此代码是 CVE 2018-11235 中的一个安全漏洞。 当用户在恶意代码库中操作时,他们可能会受到任意代码执行攻击。 远程代码存储库包含子模块定义和数据,它们作为文件夹捆绑在一起并提交给父代码存储库。 当这个代码仓库被来回复制时,Git 最初会将父仓库放到工作目录中,然后准备复制子模块。

但是,Git 稍后会发现它不需要复制子模块,因为子模块之前已经提交给父存储库,它也被写入工作目录,这个子模块已经存在于磁盘上。 因此,Git 可以跳过抓取文件的步骤,并直接在磁盘上的工作目录中使用子模块。

但是,并非所有文件都可以被复制。 当客户端复制代码库时,无法从服务器获取重要的配置。 这包括 .git 或配置文件的内容。 另外,在 Git 工作流中的特定位置执行的钩子(如Git)将在将文件写入工作目录时执行 Post-checkout 钩子。

不应该从远程服务器复制配置文件的一个重要原因就是,远程服务器可能提供由 Git 执行的恶意代码。

CVE 2018-11235 的漏洞正是犯了这个错误,所以 Git 有子模块来设置漏洞。 子模块存储库提交给父存储库,并且从未实际复制过。 子模块存储库中可能存在已配置的挂钩。 当用户再次出现时,恶意的父库会被精心设计。 将写入工作目录,然后 Git 读取子模块,将这些子模块写入工作目录,最后一步执行子模块存储库中的任何 Post-checkout 挂钩。

为了解决这个问题,Git 客户端现在将更仔细地检查子文件夹文件夹名称。 包含现在非法的名称,并且它们不能是符号链接,因此这些文件实际上必须存在于 .git 中,而不能位于工作目录中。

Edward ThomsonMay 提到,Git,VSTS 和大多数其他代码托管服务现在拒绝使用这些子模块配置的存储库来保护尚未更新的 Git 客户端。 Git 2.17.1 和 Windows 的 2.17.1 客户端软件版本已经发布,微软希望开发人员尽快更新。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • AI 公司面临隐私问题 不少仍坚持原则拒绝商业机会

    TechWeb报道,7月8日消息,据国外媒体报道,当一家由美国中央情报局支持的风险投资基金表示对拉纳·埃尔·卡利乌比(Rana el Kaliouby)的面部扫...

    周俊辉
  • Msfvenom – Metasploit 生成 Payloads 备忘录

    Metasploit 是使用最多的渗透测试框架,本文整理一些 Msfvenom 常用命令;让您快速的生成各类Payloads

    周俊辉
  • 国外黑客社区网站推荐

    社区网站是”黑客”探索和获取知识的好地方。无论您是初学者还是专家,都需要提升自己;所以我想我会列出一些好的黑客社区网站。

    周俊辉
  • 【Webpack】507- 基于Tree-shaking的多平台Web代码打包实践

    在业务中,我们常常会遇到一个场景:同一套web业务代码要在多平台下执行其对应的不同职能。这样很容易出现两个问题:代码里“尸横遍野”的环境判断和分支,提高了代码维...

    pingan8787
  • JS-元素大小深入学习-offset、client、scroll等学习研究笔记

    xing.org1^
  • 复杂网络(2)--图论的基本理论-最小生成树问题

    连通且不含圈的无向图称为树(tree)。树中度为1的节点称为树叶,度大于1的节点称为分支点。 若图G=(V,E)的生成子图是一棵树,则称该树为图G的生成树(...

    锦小年
  • PHP过滤表单字段

    从post来的进行addslashes后就可存入数据库了,取出后直接echo即可 普通的文本: 1.htmlspecialchars接着addslashe...

    梦_之_旅
  • 贝叶斯优化(Bayesian Optimization)深入理解

    tags: 贝叶斯优化,Bayesian Optimization,hyperparameters optimization,Bayes

    marsggbo
  • Vue.js 入门1 安装

    Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性 但它支持所有兼容 ECMAScript 5 的浏...

    JavaEdge
  • 看代码学安全(10)程序未恰当exit导致的问题

    大家好,我们是红日安全-代码审计小组。最近我们小组正在做一个PHP代码审计的项目,供大家学习交流,我们给这个项目起了一个名字叫 PHP-Audit-Labs 。...

    用户1631416

扫码关注云+社区

领取腾讯云代金券