go-gh `auth.TokenForHost` violates GitHub host security boundary within a codespace
Summary
go-gh auth.TokenForHost violates GitHub host security boundary within a codespace
Original description
The description as published by the source.
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.
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2024-53859 golang-github-cli-go-gh-v2
- Ubuntu UBUNTU-CVE-2024-53859 golang-github-cli-go-gh-v2 Fixed in: 2.6.0-1ubuntu0.24.04.1~esm1
References
- advisory github.com
- advisory github.com
- advisory nvd.nist.gov
- web docs.github.com
- web docs.github.com
- web docs.github.com
- web docs.github.com
- web github.com