CVE-2026-33762go-git是纯Go编写的Git实现库。在5.17.1版本前,其索引解码器处理版本4格式时,未验证路径名前缀长度。攻击者通过构造恶意索引文件,触发越界切片操作导致运行时panic,造成拒绝服务。该漏洞仅影响Git索引格式版本4。
该漏洞核心在于go-git库解析Git索引文件版本4时的逻辑缺陷。解码器在读取路径名前缀长度后,未校验该长度是否在已解码路径名字节数组的合法范围内,直接用于切片操作。攻击者可构造包含非法前缀长度的特制index文件。当程序解析此文件时,越界访问会触发Go语言运行时的panic,强制终止程序。尽管需要本地访问和用户交互(如克隆仓库),但成功利用会导致应用崩溃,影响可用性。