GitHub Advisoryadvisory · Go
GHSA-jwcm-9g39-pmcw Recursive repository cloning can leak authentication tokens to non-GitHub submodule hosts
MEDIUM
Official page ↗
- Aliases
- CVE-2024-53858
- Ecosystem
- Go
- Packages
- github.com/cli/cli/v2
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L
- Weaknesses
- CWE-200
- Reviewed
- 2024-11-27
Affected packages
• Go github.com/cli/cli/v2: < 2.63.0 → fixed in 2.63.0
Description
Summary
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.
Details
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`, `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 `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:
• `GITHUB_ENTERPRISE_TOKEN`
• `GH_ENTERPRISE_TOKEN`
• `GITHUB_TOKEN` _when `CODESPACES` environment variable is set_
The result being `git` sending authentication tokens when cloning submodules.
In `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.
Impact
Successful exploitation could lead to a third-party using leaked authentication tokens to access privileged resources.
Remediation and mitigation
1. Upgrade `gh` to `2.63.0`
2. Revoke authentication tokens used with the GitHub CLI:
• Personal access tokens
• GitHub CLI OAuth app
3. Review your personal security log and any relevant audit logs for actions associated with your account or enterprise
Related
Alias · CVE (1)
- CVE-2024-53858 The gh cli is GitHub’s official command line tool. vulnerability
Weakness · CWE (1)
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor weakness