CRITICAL🇬🇧 English

CVE-2017-18365

RCE poprzez deserializację w GitHub Enterprise Management Console

CVSS 9.8v3.0pub. 2019-03-28upd. 2024-11-21

GitHub Enterprise w wersjach 2.8.x przed 2.8.7 zawiera krytyczną podatność deserializacji w Management Console, która umożliwia nieuwierzytelnionemu atakującemu zdalne wykonanie dowolnego kodu. Przyczyną jest użycie stałego, zakodowanego na stałe w kodzie źródłowym sekretu sesji.

Pokaż oryginał (EN)

The Management Console in GitHub Enterprise 2.8.x before 2.8.7 has a deserialization issue that allows unauthenticated remote attackers to execute arbitrary code. This occurs because the enterprise session secret is always the same, and can be found in the product's source code. By sending a crafted cookie signed with this secret, one can call Marshal.load with arbitrary data, which is a problem because the Marshal data format allows Ruby objects.

🤖 Analiza AI
Jak działa

Aplikacja używa niezmiennego sekretu sesji, który jest obecny w publicznie dostępnym kodzie źródłowym produktu. Atakujący może wykorzystać znajomość tego sekretu do spreparowania podpisanego ciasteczka (cookie) i przesłania go do serwera. Serwer przetwarza ciasteczko wywołując funkcję Marshal.load z danymi kontrolowanymi przez atakującego. Format Marshal w języku Ruby umożliwia deserializację obiektów Ruby, co pozwala na wykonanie dowolnego kodu po stronie serwera bez żadnego uwierzytelnienia.

Skutki

Nieuwierzytelniony zdalny atakujący może wykonać dowolny kod na serwerze z uprawnieniami aplikacji, co w praktyce oznacza pełne przejęcie kontroli nad instancją GitHub Enterprise. Zagrożona jest poufność, integralność oraz dostępność systemu.

Mitygacja

Należy zaktualizować GitHub Enterprise do wersji 2.8.7 lub nowszej. Szczegółowe informacje o aktualizacji dostępne są w notach wydania producenta pod adresem enterprise.github.com/releases/2.8.7/notes

Kogo dotyczy

GitHub Enterprise w wersjach 2.8.x przed 2.8.7

Uwagi

Podatność została opisana publicznie na blogu exablue.de w artykule datowanym na 2017-03-15, choć wpis CVE opublikowano w 2019-03-28. Zakodowany na stałe sekret sesji sprawia, że exploit jest wyjątkowo łatwy do odtworzenia przez każdego, kto ma dostęp do kodu źródłowego produktu.

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • GitHub

    APP
    Github
    2.8.72.8.0 – 2.8.7 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEDeserialization
CWE
Referencje

Powiązane podatności

CVE-2020-10516CRITICAL9.8PL ✓ten sam produkt

Eskalacja uprawnień w GitHub Enterprise Server API

CVE-2021-22863HIGH8.1ten sam produkt

An improper access control vulnerability was identified in the GitHub Enterprise Server GraphQL API that allow...

CVE-2020-10519HIGH8.8ten sam produkt

A remote code execution vulnerability was identified in GitHub Enterprise Server that could be exploited when ...

CVE-2020-10518HIGH8.8ten sam produkt

A remote code execution vulnerability was identified in GitHub Enterprise Server that could be exploited when ...

CVE-2012-2055HIGH7.5ten sam produkt

GitHub Enterprise before 20120304 does not properly restrict the use of a hash to provide values for a model's...