Description
go-git is an extensible git implementation library written in pure Go. Prior to 5.19.2 and 6.0.0-alpha.5, reference names are not sanitized before being used to construct on-disk paths under the reference storage directory, so a maliciously crafted reference name (for example containing directory-traversal sequences) can cause go-git to write files outside the intended reference storage directory. Versions 5.19.2 and 6.0.0-alpha.5 fix the issue.
References7
- github.com/go-git/go-git/commit/4a0e66d555de5f9a30c31e2df64f445…
- github.com/go-git/go-git/commit/da9f7d8a0e98b475600177348d6ece3…
- github.com/go-git/go-git/pull/2247
- github.com/go-git/go-git/pull/2254
- github.com/go-git/go-git/releases/tag/v5.19.2
- github.com/go-git/go-git/releases/tag/v6.0.0-alpha.5
- github.com/go-git/go-git/security/advisories/GHSA-qgq7-7hm3-q39j
Metrics
- CVSS 3.1
-
6.3
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:L - EPSS — exploit probability
- 0% percentile: 36 · as of 12 November 2026
- CWE
- CWE-22
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.