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, which is the default when using "Plain" versions of Open and Clone funcs (e.g. PlainClone). Applications using 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.
Users running versions of go-git
from v4
and above are recommended to upgrade to v5.11
in order to mitigate this vulnerability.
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.
Thanks to Ionut Lalu for responsibly disclosing this vulnerability to us.