Git 2.38.1 发布,解决安全问题
Git 2.38.1 现已发布,同时发布的还有旧版本的更新,包括 v2.30.6、v2.31.5、v2.32.4、v2.33.5、v2.34.5、v2.35.5、v2.36.3 和 v2.37.4。这些维护版本主要是为了解决新发现的两个安全问题CVE-2022-39253 和 CVE-2022-39260。 第一个与--local 克隆优化有关,导致从恶意存储库克隆时,$GIT_DIR 中可能出现任意文件。另一个漏洞是关于传递给git shell子命令的命令字符串过长,最终可能导致任意堆写入和远程代码执行。 具体为: CVE-2022-39253:当依赖 --local 克隆优化时,Git 会在源仓库中解除对符号链接的引用,然后在目标仓库中创建解除引用链接的 hardlinks(或副本)。这可能会导致 surprising behavior,当从恶意软件库克隆时,任意文件都可能会出现在存储库的“$GIT_DIR”中。Git 将不再通过 --local 克隆机制解除对符号链接的引用,而是拒绝克隆在 $GIT_DIR/objects 目录中下存在符号链接的仓库。此外,protocol.fi...