CVE-2026-17556
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 41 - wyżej niż 41% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko to całkowita utrata danych użytkowników i integralności repozytoriów, co może prowadzić do przerwania działania usługi i poważnych konsekwencji dla organizacji.
Rekomendacja
Należy natychmiast zaktualizować GitHub Enterprise Server do wersji 3.21.4, 3.20.6, 3.19.10, 3.18.13 lub 3.17.19, które zawierają poprawkę.
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-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-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.
- CVE-2026-15996Wysokie
GitHub Enterprise Server przed wersją 3.21 zawiera podatność na atak DoS, która pozwala nieuwierzytelnionemu atakującemu na spowodowanie nadmiernego zużycia CPU i wyczerpania puli procesów roboczych poprzez wysłanie specjalnie spreparowanego żądania HTTP POST z głęboko zagnieżdżonymi parametrami. Podatność została naprawiona w wersjach 3.20.3, 3.19.7, 3.18.10 i 3.17.16.
- CVE-2026-15783Średnie
W GitHub Enterprise Server wykryto brak autoryzacji, który pozwalał uwierzytelnionemu użytkownikowi z prawem zapisu do dowolnego repozytorium na odczyt metadanych z prywatnych repozytoriów, do których nie miał dostępu. Luka umożliwiała enumerację identyfikatorów reguł i ujawnienie nazw repozytoriów, gałęzi, identyfikatorów commitów, ich komunikatów oraz autora pusha.
Oryginalny opis (angielski, źródło NVD)
A path traversal vulnerability was identified in GitHub Enterprise Server that allowed an unauthenticated attacker to delete arbitrary files and directories on the instance, including the entire user storage directory containing Git LFS objects, release assets, attachments, and avatars. The X-GitHub-Request-Id request header was used without sanitization as a filesystem path segment for the upload buffer directory, so a traversal value pointed the buffer at an arbitrary path and the deferred cleanup routine recursively removed the traversed target. Exploitation required only network reachability to the instance and no authentication, and it worked even when private mode was enabled. This vulnerability affected all versions of GitHub Enterprise Server prior to 3.22 and was fixed in versions 3.21.4, 3.20.6, 3.19.10, 3.18.13 and 3.17.19. This vulnerability was reported via the GitHub Bug Bounty program.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

