CVE-2026-96890
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 34 - wyżej niż 34% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący z uprawnieniami do wypychania do repozytorium może wywołać żądania do wewnętrznych hostów, co może prowadzić do zdalnego wykonania kodu na urządzeniu GitHub Enterprise Server.
Rekomendacja
Zaktualizuj GitHub Enterprise Server do wersji 3.20.9, 3.21.7 lub 3.22.2, ogranicz uprawnienia do wypychania i zweryfikuj konfigurację skanowania sekretów.
Inne podatności w GitHub Enterprise Server
Zobacz wszystkie- CVE-2026-7541Wysokie
Zidentyfikowano podatność typu denial of service w GitHub Enterprise Server, która pozwalała nieautoryzowanemu atakującemu na zakłócenie działania usługi poprzez wysyłanie spreparowanych żądań z głęboko zagnieżdżonymi ładunkami JSON do nieautoryzowanego punktu API. Punkt ten analizował ciała żądań JSON kontrolowane przez użytkownika bez ograniczeń rozmiaru lub głębokości.
- CVE-2026-77987Krytyczne
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.
- 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-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 GitHub Enterprise Server that allowed a repository contributor to cause the appliance to issue requests to attacker-controlled internal hosts, which could be chained to achieve remote code execution on the appliance. The secret scanning validator for GCP service account credentials trusted the token endpoint embedded in a committed credential and issued a request to it without restricting the destination. Exploitation required an authenticated user with permission to push to a repository on an instance with GitHub Advanced Security and secret scanning validity checks enabled, a non-default configuration. This vulnerability affected GitHub Enterprise Server 3.20, 3.21, and 3.22 and was fixed in versions 3.20.9, 3.21.7, and 3.22.2. This vulnerability was reported through the GitHub Bug Bounty program.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

