GitHub的安全列表表示,如果执行了特定的命令,即“git clone --recurse-submodules”,其软件中的漏洞允许在客户端平台上执行任意代码。它解释说:
运行“git clone --recurse-submodules”时,Git会解析提供的.gitmodules文件中的URL字段,并将其作为参数盲目地传递给“git clone”子进程。如果URL字段设置为以短划线开头的字符串,则此“git clone”子进程将URL解释为选项。这可能导致执行超级项目中的任意脚本作为运行“git clone”的用户。
在一篇博客文章中,微软澄清了这个问题仅仅影响基于Unix的平台,如Linux和macOS,或适用于在Windows子系统Linux(WSL)的Linux发行版中运行git的人。这是因为在利用漏洞时写入磁盘的文件名称中需要冒号,并且由于Windows文件系统不支持冒号,因此Git for Windows不会写入该文件。
该公司还注意到其在任何平台(macOS,Windows)上使用Git的Visual Studio产品不受影响,但GitHub仍然建议用户升级到Git版本2.17.2,2.18.1和2.19.1。
[出自:jiwo.org]