GitHub Advisoryadvisory · Go

GHSA-55v3-xh23-96gh `auth.TokenForHost` violates GitHub host security boundary when sourcing authentication token within a codespace

MEDIUM Published 2024-11-27 Modified 2024-12-12 Official page ↗
Aliases
CVE-2024-53859
Ecosystem
Go
Packages
github.com/cli/go-gh/v2, github.com/cli/go-gh
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/go-gh/v2: < 2.11.1 → fixed in 2.11.1 • Go github.com/cli/go-gh: < 2.11.1 (no fix yet)

Description

Summary 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. Details `go-gh` sources authentication tokens from different environment variables depending on the host involved: • `GITHUB_TOKEN`, `GH_TOKEN` for GitHub.com and ghe.com • `GITHUB_ENTERPRISE_TOKEN`, `GH_ENTERPRISE_TOKEN` for GitHub Enterprise Server Prior to `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 `2.11.1`, `auth.TokenForHost` will only source a token from the `GITHUB_TOKEN` environment variable for GitHub.com or ghe.com hosts. Impact Successful exploitation could send authentication token to an unintended host. Remediation and mitigation 1. Upgrade `go-gh` to `2.11.1` 2. Advise extension users to regenerate authentication tokens: • Personal access tokens • GitHub CLI OAuth app 3. Advise extension users to review their personal security log and any relevant audit logs for actions associated with their account or enterprise

Related

Alias · CVE (1)

  • CVE-2024-53859 go-gh is a Go module for interacting with the `gh` utility and the GitHub API from the command line. vulnerability

Weakness · CWE (1)

  • CWE-200 Exposure of Sensitive Information to an Unauthorized Actor weakness

References