Luka w Travis CI prowadząca do wycieku kluczy repozytorium publicznego

W usłudze ciągłej integracji Travis CI, przeznaczonej do testowania i tworzenia projektów opracowanych na GitHub i Bitbucket, wykryto problem bezpieczeństwa (CVE-2021-41077), który umożliwia ujawnienie zawartości wrażliwych zmiennych środowiskowych repozytoriów publicznych korzystających z Travis CI . Luka umożliwia między innymi poznanie kluczy używanych w Travis CI do generowania podpisów cyfrowych, kluczy dostępu i tokenów dostępu do API.

Problem występował w Travis CI od 3 do 10 września. Warto zauważyć, że informacja o luce została przekazana twórcom 7 września, jednak w odpowiedzi otrzymali oni jedynie odpowiedź z zaleceniem stosowania rotacji kluczy. Nie otrzymawszy odpowiednich opinii, badacze skontaktowali się z GitHubem i zaproponowali umieszczenie Travisa na czarnej liście. Problem został rozwiązany dopiero 10 września po dużej liczbie skarg otrzymanych z różnych projektów. Po tym incydencie na stronie Travis CI opublikowano więcej niż dziwny raport o problemie, który zamiast informować o naprawie luki, zawierał jedynie wyrwaną z kontekstu rekomendację cyklicznej zmiany kluczy dostępu.

W odpowiedzi na protesty związane z tuszowaniem kilku dużych projektów na forum wsparcia Travis CI opublikowano bardziej szczegółowy raport, w którym ostrzegano, że właściciel forka dowolnego publicznego repozytorium może, przesyłając żądanie ściągnięcia, uruchomić proces kompilacji i zyskać nieautoryzowany dostęp do wrażliwych zmiennych środowiskowych oryginalnego repozytorium, ustawianych podczas montażu na podstawie pól z pliku „.travis.yml” lub zdefiniowanych poprzez interfejs sieciowy Travis CI. Takie zmienne są przechowywane w formie zaszyfrowanej i są deszyfrowane dopiero podczas montażu. Problem dotyczył tylko publicznie dostępnych repozytoriów posiadających forki (repozytoria prywatne nie są podatne na ataki).

Źródło: opennet.ru

Dodaj komentarz