当前,GitHub 官方通报了一个 git clone 命令漏洞 CVE-2021-213,这个漏洞或可导致克隆过程中执行代码。2.15 到 2.30.1 的版本均会受到影响,建议用户升级到 2.30.2 版本,支持Linux/Unix、macOS、Windows 操作系统,以下附上降低风险的方案。
详情介绍 当前,GitHub 官方博客披露了一个 “git clone” 命令的漏洞 CVE-2021-213,该漏洞可能导致特制的仓库在 git clone 过程中能够执行代码。
该漏洞源于 clean/smudge 过滤器(如Git LFS)中的延迟检查机制。 如果一个特别制作的版本库包含符号链接以及使用 clean/smudge 过滤器的文件,可能会导致在克隆到不区分大小写的文件系统(如 NTFS、HFS+ 或 APFS(即 Windows 和 macOS上 的默认文件系统))时执行刚检查出来的脚本。这个过程中,注意,clean/smudge 过滤器是必须的,而 Windows 默认配置了 Git LFS,因此更易受到攻击。2.15 到 2.30.1 的版本均会受到影响。
解决方法及降低风险的方案 解决这个漏洞的最有效方法是升级到 2.30.2,下载地址在 https://git-scm.com/。参考在Debian 10 Linux系统上安装Git及配置Git的方法 。
如不能立即升级,也可以通过以下任何一种方式来降低风险: 1、通过运行 git config --global core.symlinks false 禁用 Git 中的符号链接支持。 2、禁用对进程过滤器的支持。(可以通过运行 git config --show-scope --get-regexp 'filter/\...*/\ process' 来查看系统是否配置了这些过滤器) 3、避免克隆不受信任的仓库。
说明 GitHub 本身不容易受到这种攻击,因为其不会在服务器上存储已检查出的仓库副本,但 GitHub Pages 除外,尽管它没有使用任何 clean/smudge 过滤器。目前,该问题已在 2021 年 3 月 9 日星期二发布的补丁中进行了修补,只要你安装或升级到新推出的版本,就不会存在问题。
相关主题 |