针对分布式源代码控制系统,Git 2.38.4、2.37.6、2.36.5、2.35.7、2.34.7、2.33.7、2.32.6、2.31.7 和 2.30.8 版本已发布补丁。这些补丁修复了影响本地克隆优化和“git apply”命令的两个漏洞。您可以在以下页面跟踪这些发行版的软件包更新: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Если установить обновление не представляется возможным, в качестве обходных мер рекомендуется избегать выполнения операции «git clone» с опцией «—recurse-submodules» с репозиториями, не заслуживающими доверия, а также не использовать команды «git apply» и «git am» с непроверенным кодом.
- CVE-2023-22490 漏洞允许控制克隆存储库内容的攻击者获得对用户系统上敏感数据的访问权限。 有两个缺陷导致了漏洞的出现:
第一个缺陷允许在使用专门设计的存储库时,即使使用与外部系统交互的传输,也可以实现本地克隆优化的使用。
第二个缺陷允许放置符号链接而不是 $GIT_DIR/objects 目录,类似于漏洞 CVE-2022-39253,该修复阻止了在 $GIT_DIR/objects 目录中放置符号链接,但没有阻止检查 $GIT_DIR/objects 目录本身可能是符号链接这一事实。
在本地克隆模式下,git 通过取消引用符号链接将 $GIT_DIR/objects 传输到目标目录,这会导致直接引用的文件被复制到目标目录。 切换到对非本地传输使用本地克隆优化允许在使用外部存储库时利用漏洞(例如,使用命令“git clone —recurse-submodules”递归地包含子模块可能会导致克隆打包为子模块的恶意存储库在另一个存储库中)。
- 漏洞 CVE-2023-23946 允许通过将特制输入传递给“git apply”命令来覆盖工作目录之外的文件内容。 例如,攻击者可以在处理“git apply”中准备的补丁时进行攻击。 为了阻止补丁在工作副本之外创建文件,“git apply”会阻止处理尝试使用符号链接写入文件的补丁。 但事实证明,可以通过首先创建符号链接来绕过这种保护。
来源: opennet.ru
