分布式开源社区Git爆安全漏洞 华为云提醒开发者更新客户端
2018年06月05日 15:40:50
来源:凤凰网科技
开源的分布式版本控制系统Git社区近期发现了一个编号为CVE 2018-11235的安全漏洞。
图:Git社区
凤凰网科技讯 6月5日消息,开源的分布式版本控制系统Git社区近期发现了一个编号为CVE 2018-11235的安全漏洞。由于Git在处理子模块代码库的设置档案存在漏洞,导致开发者可能遭受任代码执行攻击。
目前Git 2.17.1和Windows的2.17.1客户端软件版本已经发布,华为云DevCloud建议所有开发者请尽快升级到这一版本或更高版本,DevCloud已经在第一时间更新并修复了这一漏洞,还采取了进一步安全措施,防止恶意代码库被推入到华为云。
CVE 2018-11235安全漏洞是当用户在恶意代码库中操作时,可能会受到任意代码执行攻击。远程代码存储库包含子模块定义和数据,它们作为文件夹捆绑在一起并提交给父代码存储库。
当这个代码仓库被来回复制时,Git最初会将父仓库放到工作目录中,然后准备复制子模块。但是Git稍后会发现它不需要复制子模块,因为子模块之前已经提交给父存储库,它也被写入工作目录,这个子模块已经存在于磁盘上。
因此Git可以跳过抓取文件的步骤,并直接在磁盘上的工作目录中使用子模块。但是并非所有文件都可以被复制,当客户端复制代码库时,无法从服务器获取重要的配置,这包括.git 或配置文件的内容。另外,在Git工作流中的特定位置执行的钩子(如Git)将在将文件写入工作目录时执行Post-checkout钩子。不应该从远程服务器复制配置文件的一个重要原因就是,远程服务器可能提供由Git 执行的恶意代码。
CVE 2018-11235的漏洞正是犯了这个错误,所以Git有子模块来设置漏洞。子模块存储库提交给父存储库,并且从未实际复制过。子模块存储库中可能存在已配置的挂钩,当用户再次出现时,恶意的父库会被精心设计。将写入工作目录,然后Git读取子模块,将这些子模块写入工作目录,最后一步执行子模块存储库中的任何Post-checkout挂钩。
为了解决这个问题,Git客户端现在将更仔细地检查子文件夹文件夹名称。包含现在非法的名称,并且它们不能是符号链接,因此这些文件实际上必须存在于.git 中,而不能位于工作目录中。
[责任编辑:刘毓坤 PT030]
责任编辑:刘毓坤 PT030
- 好文
- 钦佩
- 喜欢
- 泪奔
- 可爱
- 思考
凤凰网科技官方微信
视频
-
李咏珍贵私人照曝光:24岁结婚照甜蜜青涩
播放数:145391
-
金庸去世享年94岁,三版“小龙女”李若彤刘亦菲陈妍希悼念
播放数:3277
-
章泽天棒球写真旧照曝光 穿清华校服肤白貌美嫩出水
播放数:143449
-
老年痴呆男子走失10天 在离家1公里工地与工人同住
播放数:165128