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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
go-git go-git
< 5.19.2affected>= 6.0.0-alpha.1, < 6.0.0-alpha.5affected
References
- https://github.com/go-git/go-git/security/advisories/GHSA-qgq7-7hm3-q39j ↗
- https://github.com/go-git/go-git/pull/2247 ↗
- https://github.com/go-git/go-git/pull/2254 ↗
- https://github.com/go-git/go-git/commit/4a0e66d555de5f9a30c31e2df64f445f42bd01e7 ↗
- https://github.com/go-git/go-git/commit/da9f7d8a0e98b475600177348d6ece384a370f36 ↗
- https://github.com/go-git/go-git/releases/tag/v5.19.2 ↗
- https://github.com/go-git/go-git/releases/tag/v6.0.0-alpha.5 ↗