Nasza strona używa cookies. Korzystając ze strony, wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki. Rozumiem

Google opublikował wykrycie poważnej luki w zabezpieczeniach GitHuba

Project Zero Google’a, czyli zespół wykrywający luki w zabezpieczeniach, przyznał się do odkrycia poważnego zagrożenia na GitHubie.
Google opublikował wykrycie poważnej luki w zabezpieczeniach GitHuba

Zespół Project Zero z Google’a jest dobrze znany z wykrywania luk w zabezpieczeniach i bugów, które zagrażają oprogramowaniu tworzonemu przez firmę z Mountain View i nie tylko. Team przyznał się właśnie do wykrycia luki na GitHubie, która została określona jako bardzo poważna. Polega ona na tym, że workflow commands w GitHub Actions są wysoce narażone na ataki przez wstrzykiwanie złośliwego kodu. Felix Wilhelm, specjalista z Google’a, który wykrył lukę, pisze, że niestety nie jest pewny, jak można ją naprawić, ponieważ sposób, w jaki zaimplementowano workflow commands już na starcie wystawia platformę na ataki. 

Workflow commands to pewnego rodzaju kanał, który pozwala komunikować się między „akcjami” a maszyną uruchamiającą, w celu np. ustawienia zmiennych środowiskowych, wartości wyjściowych używanych przez inne akcje oraz dodawania wiadomości debugujących itd.

Większość komend dotyczących przepływu pracy zostaje wywołana przez echo w odpowiednim formacie, ale niektóre uruchamia się po prostu przez pisanie do danego pliku. 


Opis luki

Felix Wilhelm pisze, że ponieważ proces uruchamiający analizuje każdą linię drukowaną do STDOUT w poszukiwaniu komend przepływu pracy, to każda akcja Githuba, która drukuje niezweryfikowaną treść w ramach wykonania danej komendy, jest podatna na ataki. W większości przypadków możliwość ustawienia dowolnych zmiennych środowiskowych skutkuje zdalnym wykonaniem kodu zaraz po realizacji innego przepływu pracy.

Wilhelm zaznacza również, że spędził już trochę czasu na badaniu różnych repozytoriów na GitHubie i każdy projekt, który zawiera złożone GitHub Actions jest narażony na ataki.


Rozwiązanie problemu

Jak wspomniano wcześniej, Wilhelm nie jest pewny, jak wspomnianą lukę można załatać, niemniej jednak jest on w stanie zaproponować rozwiązanie krótkoterminowe — byłaby nim deprecjacja składni komend. 

Fix długoterminowy musiałby, według niego, polegać na przeniesieniu workflow commands do jakiegoś zewnętrznego kanału, który będzie lepiej zabezpieczony, ale to mogłoby niestety popsuć trochę kodu. 


Działania GitHuba

Luka została wykryta 21 lipca i Project Zero dał GitHubowi standardowe 90 dni na jej naprawienie. Czas na rozwiązanie problemu minął oficjalnie 18 października. GitHub zdecydował się jednak na początku października na deprecjację zagrożonych komend i wysłał oficjalne ostrzeżenie na temat „umiarkowanego zagrożenia bezpieczeństwa”, prosząc swoich użytkowników o zaktualizowanie swoich przepływów pracy.

16 października GitHub zaakceptował dwutygodniowy okres od Google’a, w którym są oni zobowiązani jakoś poradzić sobie z wykrytym zagrożeniem. Nowym deadlinem był wtedy z kolei 2 listopada, który też już właśnie minął. GitHub poprosił jednak 1 listopada o dodatkowe 48 godzin. 

Dodatkowe godziny miałby jednak służyć dalszemu komunikowaniu się z klientami, jeżeli chodzi o lukę, oraz wyznaczeniu „ostatecznego terminu” na rozwiązanie tego problemu raz na zawsze. Niemniej jednak trzymamy kciuki!

Rozpocznij dyskusję

Lubisz dzielić się wiedzą i chcesz zostać autorem?

Podziel się wiedzą z 160 tysiącami naszych czytelników

Dowiedz się więcej