GitHub修复允许任意代码执行的安全漏洞
GitHub是面向全球开发人员的首选代码共享和托管服务。虽然欧盟尚未最终确定该交易,但该公司在6月被微软收购,作价75亿美元。 今天,GitHub宣布了他们系统中的一个漏洞,允许任意代码执行的安全漏洞的攻击。现在已经解决了这个问题,目前只有Unix平台受到了影响。
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。