Skip to content

chore(deps): update module github.com/cli/go-gh/v2 to v2.12.1 [security] #62

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 27, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/cli/go-gh/v2 v2.0.1 -> v2.12.1 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2024-53859

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:
  3. Advise extension users to review their personal security log and any relevant audit logs for actions associated with their account or enterprise

CVE-2025-48938

Summary

A security vulnerability has been identified in go-gh where an attacker-controlled GitHub Enterprise Server could result in executing arbitrary commands on a user's machine by replacing HTTP URLs provided by GitHub with local file paths for browsing.

Details

The GitHub CLI and CLI extensions allow users to transition from their terminal for a variety of use cases through the Browser capability in github.com/cli/go-gh/v2/pkg/browser:

  • Using the -w, --web flag, GitHub CLI users can view GitHub repositories, issues, pull requests, and more using their web browser
  • Using the gh codespace command set, GitHub CLI users can transition to Visual Studio Code to work with GitHub Codespaces

This is done by using URLs provided through API responses from authenticated GitHub hosts when users execute gh commands.

Prior to 2.12.1, Browser.Browse() would attempt to open the provided URL using a variety of OS-specific approaches regardless of the scheme. An attacker-controlled GitHub Enterprise Server could modify API responses to use a specially tailored local executable path instead of HTTP URLs to resources. This could allow the attacker to execute arbitrary executables on the user's machine.

In 2.12.1, Browser.Browse() has been enhanced to allow and disallow a variety of scenarios to avoid opening or executing files on the filesystem without unduly impacting HTTP URLs:

  1. URLs with http://, https://, vscode://, vscode-insiders:// protocols are supported
  2. URLs with file:// protocol are unsupported
  3. URLs matching files or directories on the filesystem are unsupported
  4. URLs matching executables in the user's path are unsupported

URLs without protocols will be browsable if none of these other conditions apply.

As we have more information about use cases, maintainers can expand these capabilities for an improved user experience that allows configuring allowed URL schemes and/or prompt the user for an unexpected user case and confirming whether to continue.

Impact

Successful exploitation could cause users of the attacker-controlled GitHub Enterprise Server to execute arbitrary commands.

Remediation and Mitigation

  1. Upgrade go-gh to 2.12.1

auth.TokenForHost violates GitHub host security boundary when sourcing authentication token within a codespace

CVE-2024-53859 / GHSA-55v3-xh23-96gh / GO-2024-3295

More information

Details

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:
  3. Advise extension users to review their personal security log and any relevant audit logs for actions associated with their account or enterprise

Severity

  • CVSS Score: 6.5 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Violation of GitHub host security boundary when sourcing authentication token within a codespace in github.com/cli/go-gh

CVE-2024-53859 / GHSA-55v3-xh23-96gh / GO-2024-3295

More information

Details

Violation of GitHub host security boundary when sourcing authentication token within a codespace in github.com/cli/go-gh

Severity

Unknown

References

This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).


Prevent GitHub CLI and extensions from executing arbitrary commands from compromised GitHub Enterprise Server

CVE-2025-48938 / GHSA-g9f5-x53j-h563 / GO-2025-3732

More information

Details

Summary

A security vulnerability has been identified in go-gh where an attacker-controlled GitHub Enterprise Server could result in executing arbitrary commands on a user's machine by replacing HTTP URLs provided by GitHub with local file paths for browsing.

Details

The GitHub CLI and CLI extensions allow users to transition from their terminal for a variety of use cases through the Browser capability in github.com/cli/go-gh/v2/pkg/browser:

  • Using the -w, --web flag, GitHub CLI users can view GitHub repositories, issues, pull requests, and more using their web browser
  • Using the gh codespace command set, GitHub CLI users can transition to Visual Studio Code to work with GitHub Codespaces

This is done by using URLs provided through API responses from authenticated GitHub hosts when users execute gh commands.

Prior to 2.12.1, Browser.Browse() would attempt to open the provided URL using a variety of OS-specific approaches regardless of the scheme. An attacker-controlled GitHub Enterprise Server could modify API responses to use a specially tailored local executable path instead of HTTP URLs to resources. This could allow the attacker to execute arbitrary executables on the user's machine.

In 2.12.1, Browser.Browse() has been enhanced to allow and disallow a variety of scenarios to avoid opening or executing files on the filesystem without unduly impacting HTTP URLs:

  1. URLs with http://, https://, vscode://, vscode-insiders:// protocols are supported
  2. URLs with file:// protocol are unsupported
  3. URLs matching files or directories on the filesystem are unsupported
  4. URLs matching executables in the user's path are unsupported

URLs without protocols will be browsable if none of these other conditions apply.

As we have more information about use cases, maintainers can expand these capabilities for an improved user experience that allows configuring allowed URL schemes and/or prompt the user for an unexpected user case and confirming whether to continue.

Impact

Successful exploitation could cause users of the attacker-controlled GitHub Enterprise Server to execute arbitrary commands.

Remediation and Mitigation
  1. Upgrade go-gh to 2.12.1

Severity

Moderate

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


GitHub CLI and extensions can execute arbitrary commands on compromised GitHub Enterprise Server in github.com/cli/go-gh

CVE-2025-48938 / GHSA-g9f5-x53j-h563 / GO-2025-3732

More information

Details

GitHub CLI and extensions can execute arbitrary commands on compromised GitHub Enterprise Server in github.com/cli/go-gh

Severity

Unknown

References

This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).


Release Notes

cli/go-gh (github.com/cli/go-gh/v2)

v2.12.1

Compare Source

Security

A security vulnerability has been identified in go-gh where an attacker-controlled GitHub Enterprise Server could result in executing arbitrary commands on a user's machine by replacing HTTP URLs provided by GitHub with local file paths for browsing.

For more information, see GHSA-g9f5-x53j-h563

Full Changelog: cli/go-gh@v2.12.0...v2.12.1

v2.12.0

Compare Source

Introducing experimental support for rendering markdown with customizable, accessible colors

Users with low vision or color blindness rely upon the terminal's ability to change how colors appear, however this requires CLIs to use a limited set of colors:

Screenshot of Mac Terminal preferences, highlighting ANSI color wells

The markdown rendered for GitHub CLI and extensions defaults to 8-bit colors that users cannot easily customize in this way.

Now, users can force rendered markdown to use customizable, accessible colors by doing one of the following:

  1. Set GH_ACCESSIBLE_COLORS environment variable to a truthy value

    export GH_ACCESSIBLE_COLORS=1
  2. Set accessible_colors configuration setting

    gh config set accessible_colors enabled
Experimental.accessible.markdown.colors.mp4

Users with a customcharmbracelet/glamour style will continue to have markdown rendered using it.

For more information, see https://github.com/cli/go-gh/pull/186

Introducing new experimental github.com/cli/go-gh/v2/pkg/x package

cli/go-gh provides capabilities used by both the GitHub CLI and CLI extensions. Some of these packages are stable, however some like the new experimental markdown support are not.

The github.com/cli/go-gh/v2/pkg/x package has been created to contain experimental features that are subject to change without notice.

Introducing new string matcher functions for Go templates

The following string matcher functions from Masterminds/sprig have been incorporated for more robust Go template support in GitHub CLI and CLI extensions:

For more information, see https://github.com/cli/cli/issues/6370 and sprig documentation

What's Changed

✨ Features

New Contributors

Full Changelog: cli/go-gh@v2.11.2...v2.12.0

v2.11.2

Compare Source

What's Changed

New Contributors

Full Changelog: cli/go-gh@v2.11.1...v2.11.2

v2.11.1

Compare Source

Security

  • 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.

    For more information, see GHSA-55v3-xh23-96gh

Full Changelog: cli/go-gh@v2.11.0...v2.11.1

v2.11.0

Compare Source

What's Changed

New Contributors

Full Changelog: cli/go-gh@v2.10.0...v2.11.0

v2.10.0

Compare Source

What's Changed

Full Changelog: cli/go-gh@v2.9.0...v2.10.0

v2.9.0

Compare Source

What's Changed

New Contributors

Full Changelog: cli/go-gh@v2.8.0...v2.9.0

v2.8.0

Compare Source

What's Changed

Full Changelog: cli/go-gh@v2.7.0...v2.8.0

v2.7.0

Compare Source

What's Changed

Full Changelog: cli/go-gh@v2.6.0...v2.7.0

v2.6.0

Compare Source

What's Changed

Full Changelog: cli/go-gh@v2.5.0...v2.6.0

v2.5.0

Compare Source

What's Changed

New Contributors

Full Changelog: cli/go-gh@v2.4.0...v2.5.0

v2.4.0

Compare Source

What's Changed

New Contributors

Full Changelog: cli/go-gh@v2.3.0...v2.4.0

v2.3.0: go-gh 2.3.0

Compare Source

What's Changed

Full Changelog: cli/go-gh@v2.2.0...v2.3.0

v2.2.0: go-gh 2.2.0

Compare Source

What's Changed

New Contributors

Full Changelog: cli/go-gh@v2.1.0...v2.2.0

v2.1.0: go-gh 2.1.0

Compare Source

What's Changed

New Contributors

Full Changelog: cli/go-gh@v2.0.1...v2.1.0


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from a team as a code owner November 27, 2024 22:49
@renovate renovate bot added the security label Nov 27, 2024
Copy link
Contributor Author

renovate bot commented Nov 27, 2024

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 3 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.20 -> 1.23.0
golang.org/x/crypto v0.9.0 -> v0.35.0
golang.org/x/net v0.10.0 -> v0.36.0
golang.org/x/sys v0.8.0 -> v0.31.0

@renovate renovate bot force-pushed the renovate/go-github.com-cli-go-gh-v2-vulnerability branch from e91383a to fc7b81d Compare December 22, 2024 16:38
@renovate renovate bot force-pushed the renovate/go-github.com-cli-go-gh-v2-vulnerability branch from fc7b81d to e5997d7 Compare March 3, 2025 17:22
@renovate renovate bot force-pushed the renovate/go-github.com-cli-go-gh-v2-vulnerability branch 2 times, most recently from f890552 to 48ea04e Compare March 17, 2025 17:30
@renovate renovate bot force-pushed the renovate/go-github.com-cli-go-gh-v2-vulnerability branch from 48ea04e to e482b5e Compare April 8, 2025 14:06
@renovate renovate bot force-pushed the renovate/go-github.com-cli-go-gh-v2-vulnerability branch from e482b5e to e5b9d70 Compare May 7, 2025 11:26
@renovate renovate bot force-pushed the renovate/go-github.com-cli-go-gh-v2-vulnerability branch from e5b9d70 to c0b07f9 Compare May 30, 2025 18:29
@renovate renovate bot changed the title chore(deps): update module github.com/cli/go-gh/v2 to v2.11.1 [security] chore(deps): update module github.com/cli/go-gh/v2 to v2.12.1 [security] May 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants