Крупнейший репозиторий PHP-пакетов Packagist был критически уязвим

Разработчики Packagist, крупнейшего репозитория в экосистеме PHP, устранили критическую уязвимость, которая затрагивала официальный сайт проекта. Эта брешь вполне могла позволить злоумышленнику получить контроль над сервисом.

О недостатке безопасности сообщил исследователь Макс Юстич. По его словам, поле ввода «Submit Package», используемое на главной странице для отправки новых пакетов PHP, позволяло атакующему запустить вредоносную команду в формате «$(MALICIOUS_COMMANDS)».

Основная причина этой проблема крылась в том, что сервис ожидал в этом поле URL-адрес, который бы вел на сервера Git, Perforce, Subversion или Mercurial. Таким образом, Packagist неправильно обрабатывал вводимые символы при проверке этого условного URL.

Это позволяло любому злоумышленнику дважды запустить вредоносную команду — первый раз, когда проверялся репозиторий Perforce, второй раз – когда проверялся репозиторий Subversion. Далее уже все зависело от уровня навыков атакующего, к примеру, он мог легко захватить базовый сервер Packagist.

Юстич уведомил в блоге, что в настоящее время уязвимость устранена.

Packagist является самым крупным хостом для хранения пакетов PHP. В июле 2018 года было зарегистрировано более 435 миллионов пакетов.

На данный момент сама команда Packagist никак не прокомментировала наличие бреши и выпуск патча для нее.

Подписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.