W usłudze ciągłej integracji Travis CI, przeznaczonej do testowania i budowania projektów rozwijanych na GitHubie i Bitbucket, zidentyfikowano problem bezpieczeństwa (CVE-2021-41077), umożliwiający ujawnienie zawartości poufnych zmiennych środowiskowych publicznych repozytoriów korzystających z Travis CI. W tym także podatność pozwalająca na poznanie kluczy używanych w Travis CI do generowania podpisów cyfrowych, kluczy dostępu oraz tokenów do interfejsu API.
Problem występował w Travis CI od 3 do 10 września. Co ciekawe, informacja o podatności została przekazana deweloperom 7 września, ale w odpowiedzi otrzymano jedynie standardową informację z zaleceniem stosowania rotacji kluczy. Nie otrzymawszy odpowiedniej informacji zwrotnej, badacze skontaktowali się z GitHubem i zaproponowali dodanie Travisa do czarnej listy. Problem został rozwiązany dopiero 10 września po licznych skargach z różnych projektów. Po incydencie na stronie firmy Travis CI opublikowano bardziej niż dziwaczny raport o problemie, w którym zamiast poinformować o naprawie podatności, zamieszczono jedynie rekomendację cyklicznego zmieniania kluczy dostępu bez kontekstu.
Po oburzeniu wywołanym ukrywaniem informacji przez kilka dużych projektów, na forum wsparcia Travis CI opublikowano bardziej szczegółowy raport, w którym ostrzegano, że właściciel forka każdego publicznego repozytorium poprzez wysłanie pull requesta mógł zainicjować proces budowy i uzyskać nieautoryzowany dostęp do poufnych zmiennych środowiskowych oryginalnego repozytorium, ujawnianych podczas budowy na podstawie pól z pliku „.travis.yml” lub definiowanych przez interfejs webowy Travis CI. Podobne zmienne przechowywane są w postaci zaszyfrowanej i odszyfrowywane są tylko w trakcie budowy. Problem dotyczył jedynie publicznie dostępnych repozytoriów, które mają forki (repozytoria prywatne nie były narażone na atak).
Źródło: opennet.ru
