go-git missing validation decoding Index v4 files leads to panic
🔗 CVE IDs covered (1)
📋 Description
Impact
go-git’s index decoder for format version 4 fails to validate the path name prefix length before applying it to the previously decoded path name. A maliciously crafted index file can trigger an out-of-bounds slice operation, resulting in a runtime panic during normal index parsing.
This issue only affects Git index format version 4. Earlier formats (go-git supports only v2 and v3) are not vulnerable to this issue.
An attacker able to supply a crafted .git/index file can cause applications using go-git to panic while reading the index. If the application does not recover from panics, this results in process termination, leading to a denial-of-service (DoS) condition.
Exploitation requires the ability to modify or inject a Git index file within the local repository in disk. This typically implies write access to the .git directory.
Patches
Users should upgrade to v5.17.1, or the latest v6 pseudo-version, in order to mitigate this vulnerability.
Credit
go-git maintainers thank @kq5y for finding and reporting this issue privately to the go-git project.
🎯 Affected products1
- go/github.com/go-git/go-git/v5:<= 5.17.0
🔗 References (5)
- https://github.com/go-git/go-git/security/advisories/GHSA-gm2x-2g9h-ccm8
- https://nvd.nist.gov/vuln/detail/CVE-2026-33762
- https://github.com/go-git/go-git/releases/tag/v5.17.1
- https://github.com/go-git/go-git/commit/e9b65df44cb97faeba148b47523a362beaecddf9
- https://github.com/advisories/GHSA-gm2x-2g9h-ccm8