Git for Windows v2.50.1 发布
Git for Windows v2.50.1 现已发布,这是一个安全修复版本,解决了 CVE-2024-50349、CVE-2024-52006、CVE-2025-27613、CVE-2025-27614、CVE-2025-46334、CVE-2025-46835、CVE-2025-48384、CVE-2025-48385 和 CVE-2025-48386。
新功能
- 随附 Git v2.50.1。
错误修复
- CVE-2025-27613,Gitk:当用户克隆不受信任的仓库并在未添加任何命令参数的情况下运行 Gitk 时,可以创建并截断任何可写文件。必须启用“Support per-file encoding”选项。“Show origin of this line”操作也会受到影响,无论该选项是否启用。
- CVE-2025-27614,Gitk:通过调用
gitk filename
(其中filename
具有特定结构),可以制作 Git 仓库,从而诱使克隆了该仓库的用户运行攻击者提供的任何脚本。 - CVE-2025-46334,Git GUI(仅限 Windows):恶意仓库可能会发布 sh.exe 或典型文本转换过滤程序(例如 astextplain)的版本。在 Windows 上,路径查找可以在工作树中找到此类可执行文件。当用户从菜单中选择“Git Bash”或“Browse Files”时,就会调用这些程序。
- CVE-2025-46835,Git GUI:当用户克隆不受信任的存储库并被诱骗编辑存储库中恶意命名目录中的文件时,Git GUI 可以创建并覆盖任何可写文件。
- CVE-2025-48384,Git:读取配置值时,Git 会删除所有尾部回车和换行 (CRLF)。写入配置条目时,带 trailing CR 的值不会被引号括起来,导致稍后读取配置时 CR 丢失。初始化子模块时,如果子模块路径包含 trailing CR,则会读取更改后的路径,从而导致子模块被签出到错误的位置。如果存在指向子模块 hooks 目录的符号链接,并且子模块包含可执行的 post-checkout hook,则该脚本可能会在签出后被意外执行。
- CVE-2025-48385,Git:克隆存储库时,Git 会选择性地获取远程服务器发布的 bundle,这使得服务器端可以将克隆的部分内容卸载到 CDN。Git 客户端未对发布的 bundle 进行充分验证,这使得远程端可以进行协议注入。这种协议注入可能导致客户端将获取的 bundle 写入攻击者控制的位置。获取的内容完全由服务器控制,在最坏的情况下可能导致任意代码执行。
- CVE-2025-48386,Git:wincred credential helper 使用静态缓冲区 (
target
) 作为唯一键,用于存储并与内部存储进行比较。此凭证辅助程序在使用wcsncat()
附加到缓冲区之前,未正确检查缓冲区中剩余的可用空间,从而导致潜在的缓冲区溢出。
注意:此版本包含最后一个计划外的“after warranty” 32 位安装程序。
更新说明:https://github.com/git-for-windows/git/releases/tag/v2.50.1.windows.1
同类文章推荐: