严重:尽快升级你的Git!--宣布Git安全漏洞
今天,Git项目发布了新版本,解决了两个安全漏洞。
GitHub不受这些漏洞的影响。但是,您应该注意这些问题并升级Git的本地安装,特别是如果您在Windows中使用Git,或者在多用户机器上使用Git。
CVE-2022-24765
此漏洞会影响在多用户机器上工作的用户,其中恶意参与者可能会在受害者当前工作目录的共享位置上创建.git目录。例如,在Windows上,攻击者可以创建C:\。这将导致所有发生在存储库之外的Git调用读取其配置的值。
因为一些配置变量(比如core.fsmonitor)会导致Git执行任意命令,所以当在共享机器上工作时,这可能会导致执行任意命令。
保护该漏洞的最有效方法是升级到Git v2.35.2。这个版本改变了Git寻找顶级目录的行为,当它的目录遍历改变了当前用户的所有权时停止。(如果您希望对此行为进行异常处理,可以使用新的多值保险箱。目录配置)。
如果你不能立即升级,以下是降低风险的最有效方法:
定义环境变量GIT_CEILING_DIRECTORIES来包含你的用户配置文件的父目录(例如,macOS上的/Users,在Linux上使用/home,在Windows上使用c:\用户)。
当当前工作目录不在受信任的存储库中时,避免在多用户机器上运行Git。
请注意,许多工具(例如用于Windows安装的Git Bash、posh-git和Visual Studio)都在后台运行Git命令。如果您使用的是多用户机器,请避免使用这些工具,直到您使用
请注意,许多工具(例如用于Windows安装的Git Bash、posh-git和Visual Studio)都在后台运行Git命令。如果您在多用户机器上,请在升级到最新版本之前避免使用这些工具。
发现这个漏洞功劳归于 俞晨东。
CVE-2022-24767
这个漏洞会影响Git for Windows卸载程序,它运行在用户的临时目录中。因为SYSTEM用户帐户继承C:\Windows\Temp(这是世界可写的)的默认权限,任何通过身份验证的用户都可以放置恶意的.dll文件,这些文件在运行Git for Windows卸载程序时通过SYSTEM帐户运行时被加载。
保护该漏洞的最有效方法是升级到Windows v2.35.2的Git。如果您不能立即升级,请使用以下方法降低风险:
避免在升级之前运行卸载程序
将SYSTEM用户的TMP环境变量覆盖到只能由SYSTEM用户写入的目录
在运行卸载程序之前,从C:\Windows\Temp中删除未知的.dll文件
在管理员帐户下运行卸载程序而不是作为系统用户
发现这个漏洞的功劳归于 洛克希德·马丁红队。