吉特 LFS漏洞使攻击者可以破坏目标’Windows系统(CVE-2020-27955)

吉特大文件存储(Git LFS)中的一个严重漏洞(CVE-2020-27955)是用于对大文件进行版本控制的开源Git扩展,如果欺骗使用Windows的受害者来克隆攻击者,则攻击者可以实现远程代码执行。’使用易受攻击的Git版本控制工具的恶意存储库,安全研究员 戴维德·古伦斯基 已经发现。

CVE-2020-27955

默认配置下的各种流行的Git客户端都可以利用它–GitHub CLI,GitHub桌面,SmartGit,SourceTree,GitKraken,Visual Studio Code等–以及其他可能的客户端/开发IDE(即默认情况下,安装带有Git LFS扩展名的git)。

“Windows上运行的Web应用程序/托管存储库(允许用户从URL导入其存储库)也可能会暴露于此漏洞,” Golunski added.

关于漏洞(CVE-2020-27955)

Golunski发现,当通过特定的exec.Command()函数执行新的git进程时,Git LFS没有指定git二进制文件的完整路径。

“由于Windows系统上的exec.Command()实现包括当前目录,因此攻击者可以通过简单地添加一个名为git.bat,git.exe,git.cmd或任何其他可执行文件的方式在恶意存储库中植入后门程序。受害者使用的扩展名’的系统(取决于PATHEXT),在主仓库中’的目录。结果,将执行以这种方式植入的恶意git二进制文件,而不是位于受信任路径中的原始git二进制文件,” he explained.

如果受害者被欺骗克隆攻击者,则可以触发此漏洞。’使用易受攻击的Git版本控制工具的恶意存储库。

Golunski说,CVE-2020-27955易于利用,并且具有 已发布 PoC漏洞利用代码,以及针对各种Git客户端的漏洞利用视频演示。

该怎么办?

该漏洞影响Windows系统(而不是Unix)上的Git LFS 2.12或更早版本。 根据 对于Git LFS维护者,除了避免不受信任的存储库之外,没有其他解决方法。

建议受影响的用户和产品供应商更新到最新的Git LFS版本(v2.12.1,于周三发布),该版本填补了安全漏洞。 视窗的Git也已经 更新 包括此Git LFS版本。

分享这个