CVE-2026-48501
Awaiting Analysis Awaiting Analysis - Queue
Authorization Header Leak in GitHub CLI

Publication date: 2026-05-29

Last updated on: 2026-05-29

Assigner: GitHub, Inc.

Description
GitHub CLI (gh) is GitHub’s official command line tool. Prior to 2.93.0, GitHub CLI incorrectly includes authorization header in API requests to TUF repository mirrors via gh attestation, gh release verify, and gh release verify-asset commands. The CLI uses a shared HTTP client with an authentication layer that automatically attaches tokens to outgoing requests. This layer lacks accurate host detection and can incorrectly attribute the target host, providing it with a token it should never receive. Specifically, the host normalization logic collapses any *.github.com subdomain to github.com, so a request to tuf-repo.github.com (a GitHub Pages site, not a GitHub API endpoint) is treated as a request to github.com and receives the user's github.com token. For hosts that don't match github.com or a known GHES instance at all, the resolver falls back to GH_ENTERPRISE_TOKEN if set. The gh attestation, gh release verify and gh release verify-asset commands fetch data from several external hosts as part of their normal operation (TUF metadata from tuf-repo.github.com and tuf-repo-cdn.sigstore.dev, artifact bundles from Azure Blob Storage). Because these requests go through the same authenticated HTTP client, the token is sent to all of them. This vulnerability is fixed in 2.93.0.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-29
Last Modified
2026-05-29
Generated
2026-05-29
AI Q&A
2026-05-29
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
github github_cli to 2.93.0 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-863 The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

The vulnerability in GitHub CLI (gh) occurs because the tool incorrectly includes authorization headers in API requests to TUF repository mirrors when using the commands gh attestation, gh release verify, and gh release verify-asset.

This happens due to a flaw in the CLI's HTTP client authentication layer, which fails to properly detect the target host. Specifically, it treats any subdomain of github.com (like tuf-repo.github.com) as github.com itself, causing the user's GitHub token to be sent to unintended hosts.

Additionally, for hosts that do not match github.com or known GitHub Enterprise Server instances, the client falls back to using enterprise tokens if set, potentially exposing those tokens to external hosts.

This means that authentication tokens could be sent to external domains that are not part of the GitHub API, potentially exposing sensitive credentials.


How can this vulnerability impact me? :

If an attacker were to capture the exposed tokens, they could gain unauthorized access to private repositories, organization resources, or enterprise administration, depending on the permissions associated with the token.

This could lead to a compromise of confidentiality and integrity of your GitHub resources.

Although there is no evidence that tokens were logged, retained, or accessed by unauthorized parties, the potential impact is significant.

To mitigate this risk, users should revoke any authentication tokens used with GitHub CLI, upgrade to version 2.93.0 or later, and monitor security logs for suspicious activity.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability involves GitHub CLI sending authorization tokens to unintended external hosts when running certain commands. Detection can focus on monitoring network traffic for unauthorized transmission of GitHub tokens to domains such as tuf-repo.github.com, tuf-repo-cdn.sigstore.dev, and Azure Blob Storage endpoints like tmaproduction.blob.core.windows.net.

You can inspect network traffic or logs for outgoing HTTP requests containing authorization headers to these external hosts.

Suggested commands include using network monitoring tools or command-line utilities such as:

  • Using tcpdump or tshark to capture HTTP traffic and filter for authorization headers sent to the affected domains.
  • Example tcpdump command: sudo tcpdump -i any -A -s 0 'tcp port 443' | grep -i 'authorization'
  • Using curl or similar tools to manually test the commands `gh attestation`, `gh release verify`, and `gh release verify-asset` and observe if tokens are sent to unintended hosts.

Additionally, reviewing GitHub CLI logs or enabling verbose/debug mode may help identify if tokens are being sent to unexpected endpoints.


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, you should immediately upgrade GitHub CLI to version 2.93.0 or later, where the issue is fixed.

Additionally, revoke any authentication tokens used with GitHub CLI to prevent potential misuse if tokens were exposed.

It is also recommended to review security logs for any suspicious activity that might indicate token misuse.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart