CVE-2026-103620
ŚrednieCVSS 6.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 - wyżej niż 37% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wprowadzić złośliwą treść jako domyślną gałąź repozytorium, omijając wymóg przeglądu kodu. Może to prowadzić do wykonania niezaufanego kodu lub ujawnienia danych w projektach zależnych od tego repozytorium.
Rekomendacja
Zaktualizuj GitHub Enterprise Server do wersji 3.18.16, 3.19.13, 3.20.9, 3.21.7 lub 3.22.2 (lub nowszej). Skonfiguruj ograniczenia usuwania gałęzi domyślnych w repozytoriach wymagających przeglądu.
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-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-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 missing authorization vulnerability was identified in GitHub Enterprise Server that allowed a repository collaborator with write access to delete the current default branch through the GraphQL API and cause an attacker-controlled branch to become the new default. In repositories that required pull-request review but did not restrict branch deletion, this bypassed the review requirement and caused fresh clones and default-branch API requests to use attacker-controlled content. This vulnerability affected supported GitHub Enterprise Server releases in the 3.18, 3.19, 3.20, 3.21, and 3.22 series and was fixed in versions 3.18.16, 3.19.13, 3.20.9, 3.21.7, and 3.22.2. This vulnerability was reported via the GitHub Bug Bounty program.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

