Projekt Zero firmy Google uderza ponownie, ujawniamy szczegóły luki w GitHubie o „wysokiej wadze”.

Ikona czasu czytania 3 minuta. czytać


Czytelnicy pomagają wspierać MSpoweruser. Możemy otrzymać prowizję, jeśli dokonasz zakupu za pośrednictwem naszych linków. Ikona podpowiedzi

Przeczytaj naszą stronę z informacjami, aby dowiedzieć się, jak możesz pomóc MSPoweruser w utrzymaniu zespołu redakcyjnego Czytaj więcej

Microsoft GitHub

Projekt Zero firmy Google uderzył ponownie, ujawniając szczegóły niezałatanej luki w oprogramowaniu Microsoftu.

Firma opublikowała dzisiaj informację o exploitie „o wysokim poziomie ważności” w serwisie GitHub, który umożliwiałby zdalne wykonanie kodu.

Błąd w poleceniach przepływu pracy, które działają jako kanał komunikacji między wykonywanymi akcjami a Action Runner, opisał jako taki Felix Wilhelm, który odkrył problem:

Duży problem z tą funkcją polega na tym, że jest ona bardzo podatna na ataki polegające na wstrzykiwaniu. Ponieważ proces uruchamiający analizuje każdą linię drukowaną do STDOUT w poszukiwaniu poleceń przepływu pracy, każda akcja Github, która drukuje niezaufaną zawartość jako część jej wykonania, jest podatna na ataki. W większości przypadków możliwość ustawienia dowolnych zmiennych środowiskowych skutkuje zdalnym wykonaniem kodu zaraz po wykonaniu innego przepływu pracy.

Spędziłem trochę czasu przyglądając się popularnym repozytoriom Github i prawie każdy projekt z nieco złożonymi akcjami Github jest podatny na tę klasę błędów.

Problem wydaje się mieć fundamentalne znaczenie dla działania poleceń przepływu pracy, co bardzo utrudnia jego naprawienie. Notatki doradcze GitHub:

`add-path` i `set-env` Polecenia Runner są przetwarzane przez standardowe wyjście
Funkcje @actions/core npm addPath i exportVariable komunikują się z programem Actions Runner przez standardowe wyjście, generując ciąg w określonym formacie. Przepływy pracy, które rejestrują niezaufane dane na standardowe wyjście, mogą wywoływać te polecenia, w wyniku czego ścieżka lub zmienne środowiskowe są modyfikowane bez zamiaru autora przepływu pracy lub akcji.

Łatki
W najbliższej przyszłości program uruchamiający wyda aktualizację, która wyłączy polecenia przepływu pracy set-env i add-path. Na razie użytkownicy powinni dokonać aktualizacji do @actions/core v1.2.6 lub nowszej i zastąpić wszelkie wystąpienia poleceń set-env lub add-path w swoich przepływach pracy nową składnią pliku środowiska. Przepływy pracy i akcje korzystające ze starych poleceń lub starszych wersji zestawu narzędzi zaczną ostrzegać, a następnie wystąpią błędy podczas wykonywania przepływu pracy.

Obejścia
Brak, zdecydowanie zaleca się jak najszybsze uaktualnienie.

Google odkrył lukę 21 lipca, dając Microsoft 90 dni na jej załatanie. GitHub wycofał polecenia zawierające luki w zabezpieczeniach i wysłał poradę dotyczącą „umiarkowanej luki w zabezpieczeniach”, prosząc użytkowników o zaktualizowanie swoich przepływów pracy. Poprosili również Google o 14-dniowe opóźnienie ujawnienia, które Google zaakceptował, przesuwając datę ujawnienia na 2 listopada 2020 r. Microsoft poprosił o dalsze 48-godzinne opóźnienie, które Google odmówił, co doprowadziło do wczorajszego ujawnienia.

Pełne szczegóły exploita można znaleźć na Chromium.org tutaj.

przez Neowin

Więcej na tematy: wykorzystać, Github, zero projektu