CVE-2026-48501
WysokieCVSS 7.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
GitHub CLI (gh) przed wersją 2.93.0 nieprawidłowo dołącza nagłówek autoryzacji do żądań API kierowanych do mirrorów repozytorium TUF. Błąd w normalizacji nazw hostów powoduje, że token użytkownika jest wysyłany do zewnętrznych serwerów, takich jak tuf-repo.github.com, co stanowi naruszenie bezpieczeństwa.
Ocena ryzyka
Organizacja ryzykuje wyciekiem tokenów dostępu do GitHub do nieuprawnionych stron trzecich, co może prowadzić do nieautoryzowanego dostępu do repozytoriów i danych.
Rekomendacja
Należy natychmiast zaktualizować GitHub CLI do wersji 2.93.0 lub nowszej, która usuwa tę podatność.
Inne podatności w GitHub CLI
Zobacz wszystkie- CVE-2026-72924Niskie
GitHub CLI (gh) w wersjach od 2.28.0 do 2.97.0 domyślnie wiąże lokalny listener utworzony przez gh codespace ports forward do wszystkich interfejsów sieciowych. Podczas aktywnego przekierowania portów usługa w Codespace może być osiągalna przez niepętlowy adres IP użytkownika z innych hostów. Luka naprawiona w wersji 2.98.0.
- CVE-2026-64655Niskie
GitHub CLI przed wersją 2.97.0 nie escapuje metaznaków regex w wartościach --signer-repo i --signer-workflow, co pozwala atakującemu na obejście weryfikacji attestacji Sigstore przez podobnie nazwane repozytorium.
- CVE-2026-64654Średnie
GitHub CLI (gh) to oficjalne narzędzie wiersza poleceń GitHub. Przed wersją 2.97.0 wiele poleceń GitHub CLI wyświetlało treści kontrolowane zewnętrznie (np. gist, API, pull request, release, codespace, skill, agent-task) bez neutralizowania sekwencji sterujących terminala. Atakujący, który może wpływać na te treści, może osadzić sekwencje, które są interpretowane przez terminal użytkownika uruchamiającego dotknięte polecenie, co może prowadzić od manipulacji wizualnej do wykonania poleceń na niektórych emulatorach terminala. Problem naprawiono w wersji 2.97.0.
- CVE-2026-64653Średnie
GitHub CLI (gh) to oficjalne narzędzie wiersza poleceń GitHub. Przed wersją 2.97.0 niektóre adresy URL żądań HTTP interpolują zmienne składniki ścieżki bez kodowania procentowego, co pozwala metaznakom ścieżki w wartościach repozytorium lub zasobów kontrolowanych przez atakującego na spowodowanie, że gh będzie adresować inny punkt końcowy API lub zasób niż zamierzał użytkownik. Problem naprawiono w wersji 2.97.0.
- CVE-2026-64652Niskie
GitHub CLI przed wersją 2.97.0 maskuje tylko część tokenów w gh auth status, co może ujawnić fragmenty tokenów w logach terminala lub CI.
- CVE-2026-59831Średnie
Podatność w GitHub CLI (gh) od wersji 2.10.0 do 2.95.0 umożliwia wykonanie dowolnego polecenia poprzez połączenie ze złośliwym Codespace przy użyciu polecenia `gh codespace jupyter`. Polecenie to otwiera adres URL JupyterLab dostarczony przez proces wewnątrz Codespace bez walidacji, czy jest to pętla zwrotna HTTP lub HTTPS, co pozwala na przekazanie spreparowanego adresu URL `vscode://` lub `vscode-insiders://` do VS Code.
Oryginalny opis (angielski, źródło NVD)
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.

