GHSA-449p-3h89-pw88
Maliciously crafted Git server replies can lead to path traversal and RCE on go-git clients
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/go-git/go-git/v5 | >= 5.0.0, < 5.11.0 | 5.11.0 |
| Go | gopkg.in/src-d/go-git.v4 | >= 4.0.0, <= 4.13.1 | no fix listed |
Details
As written in the advisory (Markdown source, shown as plain text).
### Impact
A path traversal vulnerability was discovered in go-git versions prior to `v5.11`. This vulnerability allows an attacker to create and amend files across the filesystem. In the worse case scenario, remote code execution could be achieved.
Applications are only affected if they are using the [ChrootOS](https://pkg.go.dev/github.com/go-git/go-billy/v5/osfs#ChrootOS), which is the default when using "Plain" versions of Open and Clone funcs (e.g. PlainClone). Applications using [BoundOS](https://pkg.go.dev/github.com/go-git/go-billy/v5/osfs#BoundOS) or in-memory filesystems are not affected by this issue.
This is a `go-git` implementation issue and does not affect the upstream `git` cli.
### Patches
Users running versions of `go-git` from `v4` and above are recommended to upgrade to `v5.11` in order to mitigate this vulnerability.
### Workarounds
In cases where a bump to the latest version of `go-git` is not possible in a timely manner, we recommend limiting its use to only trust-worthy Git servers.
## Credit
Thanks to Ionut Lalu for responsibly disclosing this vulnerability to us.
References
External links from the advisory. They lead to third-party sites.