Vulnerability · Published Nov 27, 2024 · Assigned by GitHub_M
CVE-2024-53859go-gh `auth.TokenForHost` violates GitHub host security boundary within a codespace
Medium 6.5
In plain English
A medium-severity information exposure in go-gh 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.5% (higher than 46% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
go-gh is a Go module for interacting with the `gh` utility and the GitHub API from the command line. A security vulnerability has been identified in `go-gh` that could leak authentication tokens intended for GitHub hosts to non-GitHub hosts when within a codespace. `go-gh` sources authentication tokens from different environment variables depending on the host involved: 1. `GITHUB_TOKEN`, `GH_TOKEN` for GitHub.com and ghe.com and 2. `GITHUB_ENTERPRISE_TOKEN`, `GH_ENTERPRISE_TOKEN` for GitHub Enterprise Server. Prior to version `2.11.1`, `auth.TokenForHost` could source a token from the `GITHUB_TOKEN` environment variable for a host other than GitHub.com or ghe.com when within a codespace. In version `2.11.1`, `auth.TokenForHost` will only source a token from the `GITHUB_TOKEN` environment variable for GitHub.com or ghe.com hosts. Successful exploitation could send authentication token to an unintended host. This issue has been addressed in version 2.11.1 and all users are advised to upgrade. Users are also advised to regenerate authentication tokens 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:13 | golang-github-cli-go-gh-v2 | no fix listed | DEBIAN-CVE-2024-53859 |
| Debian:14 | golang-github-cli-go-gh-v2 | no fix listed | DEBIAN-CVE-2024-53859 |
| Go | github.com/cli/go-gh | no fix listed | GO-2024-3295 |
| Go | github.com/cli/go-gh | no fix listed | GHSA-55v3-xh23-96gh |
| Go | github.com/cli/go-gh/v2 | 2.11.1 | GHSA-55v3-xh23-96gh |
| Go | github.com/cli/go-gh/v2 | 2.11.1 | GO-2024-3295 |
| Ubuntu:25.10 | golang-github-cli-go-gh-v2 | no fix listed | UBUNTU-CVE-2024-53859 |
| Ubuntu:26.04:LTS | golang-github-cli-go-gh-v2 | no fix listed | UBUNTU-CVE-2024-53859 |
| Ubuntu:26.10 | golang-github-cli-go-gh-v2 | no fix listed | UBUNTU-CVE-2024-53859 |
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/go-gh/security/advisories/GHSA-55v3-xh23-96gh x_refsource_CONFIRM
- https://docs.github.com/en/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps#reviewing-your-authorized-github-apps x_refsource_MISC
- https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log x_refsource_MISC
- https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token x_refsource_MISC
- https://docs.github.com/en/enterprise-cloud@latest/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens x_refsource_MISC
- https://github.com/cli/go-gh/blob/71770357e0cb12867d3e3e288854c0aa09d440b7/pkg/auth/auth.go#L73-L77 x_refsource_MISC