Go-Git · Go-Git · CVE-2024-35183
**Name of the Vulnerable Software and Affected Versions**
wolfictl versions prior to 0.16.10
**Description**
A git authentication issue allows a local user’s GitHub token to be sent to remote servers other than `github.com`. Most git-dependent functionality in wolfictl relies on its own `git` package, which contains centralized logic for implementing interactions with git repositories. Some of this functionality requires authentication in order to access private repositories. A central function `GetGitAuth` looks for a GitHub token in the environment variable `GITHUB TOKEN` and returns it as an HTTP basic auth object to be used with the `github.com/go-git/go-git/v5` library. Most callers of `GetGitAuth` use the token to authenticate to `github.com` only; however, in some cases callers were passing this authentication without checking that the remote git repository was hosted on `github.com`. This behavior impacts anyone who ran the `wolfictl check update` commands with a Melange configuration that included a `git-checkout` directive step that referenced a git repository not hosted on `github.com`, or anyone who ran `wolfictl update <url>` with a remote URL outside of `github.com`, and had the `GITHUB TOKEN` environment variable set to a valid GitHub token.
**Recommendations**
To resolve the issue, upgrade to version 0.16.10 to receive a patch. As a temporary workaround, consider removing the `GITHUB TOKEN` environment variable when running `wolfictl check update` or `wolfictl update <url>` commands with remote URLs outside of `github.com`. Restrict access to the `GetGitAuth` function to minimize the risk of exploitation. Avoid using the `GITHUB TOKEN` environment variable in the affected API endpoints until the issue is resolved.