CVE-2026-77912
WysokieCVSS 7.4Streszczenie
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.
Ocena ryzyka
Atakujący może odczytać treści widoczne dla ofiary, wyodrębnić tokeny CSRF, wykonywać działania zmieniające stan jako ofiara oraz eksfiltrować dane. Podatność dotyczy wielu wersji GitHub Enterprise Server.
Rekomendacja
Zaktualizuj GitHub Enterprise Server do wersji 3.22.1, 3.21.6, 3.20.8, 3.19.12, 3.18.15 lub 3.17.21, w zależności od serii.
Inne podatności w GitHub Enterprise Server
Zobacz wszystkie- 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-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-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 stored cross-site scripting (XSS) vulnerability was identified in GitHub Enterprise Server that allowed an authenticated attacker to inject arbitrary HTML attributes into rendered Markdown because the Markdown rendering pipeline rewrote quote characters in already-sanitized HTML without re-sanitizing the result. Crafted Markdown could abuse same-origin JavaScript gadgets to bypass Content Security Policy and gain control of the page DOM when viewed by another user. Successful exploitation could allow an attacker to read content visible to the victim, extract embedded CSRF tokens, perform state-changing actions as the victim, and exfiltrate data through same-origin writes. The payload could also propagate to repositories and organizations where the victim had write access. This vulnerability affected supported GitHub Enterprise Server releases in the 3.17, 3.18, 3.19, 3.20, 3.21, and 3.22 series 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 via the GitHub Bug Bounty program.

