Vulnerability · Published Nov 27, 2024 · Assigned by GitHub_M
CVE-2024-53858Recursive repository cloning can leak authentication tokens to non-GitHub submodule hosts in the gh cli
Medium 6.5
In plain English
A medium-severity information exposure in cli from cli. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 20% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
The gh cli is GitHub’s official command line tool. A security vulnerability has been identified in the GitHub CLI that could leak authentication tokens when cloning repositories containing `git` submodules hosted outside of GitHub.com and ghe.com. This vulnerability stems from several `gh` commands used to clone a repository with submodules from a non-GitHub host including `gh repo clone`, `gh repo fork`, and `gh pr checkout`. These GitHub CLI commands invoke git with instructions to retrieve authentication tokens using the `credential.helper` configuration variable for any host encountered. Prior to version `2.63.0`, hosts other than GitHub.com and ghe.com are treated as GitHub Enterprise Server hosts and have tokens sourced from the following environment variables before falling back to host-specific tokens stored within system-specific secured storage: 1. `GITHUB_ENTERPRISE_TOKEN`, 2. `GH_ENTERPRISE_TOKEN` and 3. `GITHUB_TOKEN` when the `CODESPACES` environment variable is set. The result being `git` sending authentication tokens when cloning submodules. In version `2.63.0`, these GitHub CLI commands will limit the hosts for which `gh` acts as a credential helper to source authentication tokens. Additionally, `GITHUB_TOKEN` will only be used for GitHub.com and ghe.com. Users are advised to upgrade. Additionally users are advised to revoke authentication tokens used with the GitHub CLI and to review their personal security log and any relevant audit logs for actions associated with their account or enterprise
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | gh | no fix listed | DEBIAN-CVE-2024-53858 |
| Debian:13 | gh | 2.46.0-3 | DEBIAN-CVE-2024-53858 |
| Go | github.com/cli/cli | no fix listed | GO-2024-3296 |
| Go | github.com/cli/cli/v2 | 2.63.0 | GHSA-jwcm-9g39-pmcw |
| Go | github.com/cli/cli/v2 | 2.63.0 | GO-2024-3296 |
Affected products (as reported)
Weakness: CWE-200 · Vector: CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L
References
- https://github.com/cli/cli/security/advisories/GHSA-jwcm-9g39-pmcw x_refsource_CONFIRM
- https://git-scm.com/docs/gitcredentials x_refsource_MISC