CVE-2026-77987
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 51 - wyżej niż 51% wszystkich znanych CVE
Streszczenie
Podatność typu server-side request forgery (SSRF) w przeglądarce notebooków GitHub Enterprise Server. Przeglądarka notebooków walidowała schemat i host adresu URL podanego przez użytkownika, ale nie walidowała portu, co pozwalało na kierowanie żądań do wewnętrznych usług nasłuchujących na innych portach tego samego urządzenia. Treści odpowiedzi nie były zwracane żądającemu, ale czas odpowiedzi działał jak wyrocznia, pozwalając na wydobycie sekretów instancji znak po znaku. Wydobyty sekret mógł być następnie użyty w osobnej interakcji z wewnętrzną usługą w celu uzyskania zdalnego wykonania kodu na urządzeniu. Eksploitacja wymagała dostępu sieciowego do instancji i była nieuwierzytelniona, gdy tryb prywatny był wyłączony, lub wymagała dowolnego uwierzytelnionego użytkownika, gdy tryb prywatny był włączony. Podatność dotyczyła wersji GitHub Enterprise Server od 3.17 do 3.22 i została naprawiona w wersjach 3.22.1, 3.21.6, 3.20.8, 3.19.12, 3.18.15 i 3.17.21. Podatność została zgłoszona przez program GitHub Bug Bounty.
Ocena ryzyka
Atakujący może uzyskać zdalne wykonanie kodu na urządzeniu, co może prowadzić do pełnej kompromitacji instancji GitHub Enterprise Server i naruszenia poufności danych.
Rekomendacja
Zaktualizuj GitHub Enterprise Server do jednej z naprawionych wersji (np. 3.22.1 lub nowszej) i rozważ włączenie trybu prywatnego.
Inne podatności w GitHub Enterprise Server
Zobacz wszystkie- CVE-2026-17556Krytyczne
GitHub Enterprise Server przed wersją 3.22 ma podatność path traversal, która pozwala nieuwierzytelnionemu atakującemu na usunięcie dowolnych plików i katalogów na instancji, w tym całego katalogu przechowywania użytkowników z obiektami Git LFS, zasobami wydań, załącznikami i awatarami. Wykorzystanie nagłówka X-GitHub-Request-Id bez sanityzacji jako ścieżki w systemie plików prowadzi do usunięcia danych.
- CVE-2026-9312Wysokie
GitHub Enterprise Server przed wersją 3.22 zawiera podatność SSRF w punkcie końcowym przesyłania plików, która pozwala nieuwierzytelnionemu atakującemu na wysyłanie spreparowanych żądań do wewnętrznych usług. Poprzez wstrzyknięcie ścieżki traversal w parametrach żądania można ominąć zamierzony przepływ i przekierować wewnętrzne wywołania API.
- CVE-2025-11892Krytyczne
W GitHub Enterprise Server zidentyfikowano podatność nieprawidłowej neutralizacji danych wejściowych umożliwiającą DOM-based cross-site scripting poprzez filtr etykiet w wyszukiwaniu zgłoszeń (Issues). Może to prowadzić do eskalacji uprawnień i nieautoryzowanego uruchamiania workflow. Wymaga to dostępu do instancji oraz nakłonienia użytkownika w trybie sudo do kliknięcia spreparowanego linku.
- CVE-2026-96890Wysokie
W GitHub Enterprise Server zidentyfikowano podatność typu Server-Side Request Forgery (SSRF), która pozwalała współtwórcy repozytorium na wywołanie żądań do wewnętrznych hostów kontrolowanych przez atakującego, co mogło zostać połączone w łańcuch prowadzący do zdalnego wykonania kodu na urządzeniu. Walidator skanowania sekretów dla poświadczeń konta usługi GCP ufał punktowi końcowemu tokenu osadzonemu w zatwierdzonym poświadczeniu i wysyłał do niego żądanie bez ograniczenia miejsca docelowego. Eksploatacja wymagała uwierzytelnionego użytkownika z uprawnieniem do wypychania do repozytorium na instancji z włączonym GitHub Advanced Security i sprawdzaniem ważności skanowania sekretów (konfiguracja niebędąca domyślną). Podatność dotyczyła GitHub Enterprise Server 3.20, 3.21 i 3.22 i została naprawiona w wersjach 3.20.9, 3.21.7 i 3.22.2. Podatność została zgłoszona w ramach programu GitHub Bug Bounty.
- CVE-2026-103620Średnie
W GitHub Enterprise Server występuje podatność braku autoryzacji, która pozwala współpracownikowi repozytorium z prawem zapisu usunąć bieżącą gałąź domyślną przez GraphQL API i uczynić gałąź kontrolowaną przez atakującego nową domyślną. W repozytoriach wymagających przeglądu pull requestów, ale nieograniczających usuwania gałęzi, omija to wymóg przeglądu i powoduje, że nowe klony oraz zapytania API używają treści kontrolowanych przez atakującego.
- CVE-2026-77912Średnie
W GitHub Enterprise Server wykryto podatność na trwały cross-site scripting (XSS), która pozwala uwierzytelnionemu atakującemu na wstrzyknięcie dowolnych atrybutów HTML do renderowanego Markdown, ponieważ potok renderowania Markdown przepisywał znaki cudzysłowu w już zdezynfekowanym HTML bez ponownej dezynfekcji wyniku. Spreparowany Markdown mógł wykorzystać same-origin JavaScript gadgets do obejścia Content Security Policy i przejęcia kontroli nad DOM strony, gdy została wyświetlona przez innego użytkownika.
- CVE-2026-75101Średnie
Podatność polegająca na obejściu autoryzacji w GitHub Enterprise Server umożliwia każdemu uwierzytelnionemu użytkownikowi instancji odczyt surowego diffa lub patchy pull requestów w prywatnych repozytoriach bez autoryzacji. Tokeny dostępu do surowych diffów i patchy pull requestów były ograniczone do nazwy repozytorium i numeru pull requesta, a nie do globalnie unikalnego identyfikatora repozytorium, więc atakujący, który utworzył repozytorium i pull request o nazwie i numerze odpowiadającym celowi, mógł użyć tokena dla własnego repozytorium, aby pobrać zawartość prywatnego pull requesta. Eksploatacja wymagała znajomości nazwy repozytorium docelowego i prawidłowego numeru pull requesta. Podatność dotyczy wszystkich wersji GitHub Enterprise Server przed 3.22 i została naprawiona w wersjach 3.17.21, 3.18.15, 3.19.12, 3.20.8 i 3.21.6. Zgłoszono ją przez program GitHub Bug Bounty.
- CVE-2026-76851Wysokie
Podatność typu Server-Side Request Forgery (SSRF) w GitHub Enterprise Server umożliwiała zdalne wykonanie kodu na instancji. Niewystarczająca izolacja sieci pozwalała złośliwemu kodowi hooka pre-receive na podszywanie się pod wewnętrzny serwis i przekierowanie zaufanych wewnętrznych żądań do uprzywilejowanego serwisu, co prowadziło do podniesienia uprawnień i wykonania kodu. Wykorzystanie wymagało włączenia sieci dla hooków pre-receive oraz uprawnień administratora witryny lub zapisu do repozytorium z takim hookiem. Podatność dotyczyła wszystkich wersji przed 3.22 i została naprawiona w wersjach 3.17.20, 3.18.14, 3.19.11, 3.20.7 i 3.21.5.
- CVE-2026-19118Wysokie
Podatność typu time-of-check time-of-use (TOCTOU) w GitHub Enterprise Server umożliwia zdalne wykonanie kodu. Wykorzystanie wymaga uwierzytelnionego użytkownika z prawem zapisu do repozytorium oraz precyzyjnego zsynchronizowania żądań przesyłania plików. Podatność dotyczy wszystkich wersji przed 3.22 i została naprawiona w wersjach 3.17.20, 3.18.14, 3.19.11, 3.20.7 i 3.21.5.
- CVE-2026-18730Wysokie
W GitHub Enterprise Server wykryto podatność typu server-side request forgery (SSRF). Nieuwierzytelniony atakujący mógł zmusić Manage API do wysyłania spreparowanych żądań wychodzących do hosta kontrolowanego przez atakującego, a token HMAC uwierzytelniał jedynie znacznik czasu, nie ścieżkę ani treść żądania. Token przechwycony przez atakującego mógł zostać powtórzony wobec uprzywilejowanych punktów końcowych agenta zarządzającego.
Oryginalny opis (angielski, źródło NVD)
A server-side request forgery (SSRF) vulnerability was identified in the notebook viewer of GitHub Enterprise Server. The notebook viewer validated the scheme and host of a user-supplied URL but did not validate the port, allowing requests to be directed to internal services listening on other ports of the same appliance. Response bodies were not returned to the requester, but response timing acted as an oracle that allowed instance secrets to be extracted character by character. An extracted secret could then be used in a separate interaction with an internal service to obtain remote code execution on the appliance. Exploitation required network access to the instance and was unauthenticated when private mode was disabled, or required any authenticated user when private mode was enabled. This vulnerability affected GitHub Enterprise Server versions 3.17 through 3.22 and was fixed in versions 3.22.1, 3.21.6, 3.20.8, 3.19.12, 3.18.15, and 3.17.21. This vulnerability was reported through the GitHub Bug Bounty program.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

