W popularnych menedżerach pakietów ujawniono wiele luk w zabezpieczeniach, które potencjalnie mogą zostać wykorzystane do uruchomienia dowolnego kodu i uzyskania dostępu do poufnych informacji, w tym kodu źródłowego i tokenów dostępu, z zaatakowanych komputerów.
Warto jednak zauważyć, że luki wymagają od docelowych deweloperów obsługi szkodliwego pakietu w połączeniu z jednym z zaatakowanych menedżerów pakietów.
„Oznacza to, że atak nie może zostać uruchomiony bezpośrednio na maszynę programisty ze zdalnego komputera i wymaga, aby programista został oszukany w celu załadowania podatnych plików” – powiedział badacz SonarSource Paul Gerste . „Ale czy zawsze możesz znać i ufać właścicielom wszystkich pakietów, z których korzystasz z Internetu lub wewnętrznych repozytoriów firmy?”
Menedżery pakietów odnoszą się do systemów lub zestawów narzędzi używanych do automatyzacji instalacji, uaktualniania i konfigurowania zależności innych firm wymaganych do tworzenia aplikacji.
Podczas gdy nieuczciwe biblioteki torują sobie drogę do repozytoriów pakietów, wiążą się z tym zagrożenia bezpieczeństwa – co wymaga odpowiedniego sprawdzenia zależności w celu ochrony przed atakami na dezorientację – „zarządzanie zależnościami zwykle nie jest postrzegane jako potencjalnie ryzykowna operacja”.
Jednak nowo wykryte problemy w różnych menedżerach pakietów wskazują, że mogą one zostać wykorzystane przez atakujących w celu nakłonienia ofiar do wykonania złośliwego kodu. Wady zostały zidentyfikowane w następujących menedżerach pakietów:
- Composer 1.x < 1.10.23 and 2.x < 2.1.9
- Bundler < 2.2.33
- Bower < 1.8.13
- Poetry < 1.1.9
- Yarn < 1.22.13
- pnpm < 6.15.1
- Pip (no fix)
- Pipenv (no fix)
Najważniejszym ze słabych punktów jest błąd wstrzykiwania polecenia w poleceniu przeglądania Composera, który może zostać wykorzystany do wykonania dowolnego kodu poprzez wstawienie adresu URL do już opublikowanego szkodliwego pakietu.
Jeśli pakiet wykorzysta techniki pisania liter lub dezorientacji zależności, może to potencjalnie doprowadzić do scenariusza, w którym uruchomienie polecenia przeglądania dla biblioteki może prowadzić do pobrania ładunku następnego etapu, który mógłby następnie zostać wykorzystany do uruchomienia dalszych ataków.
Dodatkowe wstrzykiwanie argumentów i niezaufane luki w ścieżce wyszukiwania wykryte w Bundler, Poetry, Yarn, Composer, Pip i Pipenv oznaczały, że haker mógł uzyskać wykonanie kodu za pomocą pliku wykonywalnego git zawierającego złośliwe oprogramowanie lub pliku kontrolowanego przez atakującego, takiego jak Gemfile to jest używane do określenia zależności dla programów Ruby.
Po ujawnieniu tego wydano poprawki mające na celu rozwiązanie problemów w Composer, Bundler, Bower, Poetry, Yarn i Pnpm. Ale Composer, Pip i Pipenv, z których wszystkie trzy są dotknięte błędem w niezaufanej ścieżce wyszukiwania, zdecydowały się nie usuwać tego błędu.
„Programiści są atrakcyjnym celem dla cyberprzestępców, ponieważ mają dostęp do podstawowych zasobów własności intelektualnej firmy: kodu źródłowego” – powiedział Gerste. „Złamanie ich umożliwia atakującym prowadzenie działań szpiegowskich lub osadzenie złośliwego kodu w produktach firmy. Może to nawet zostać wykorzystane do wymierzenia ataków w łańcuchu dostaw”.