Рубріки: Новости

В экосистеме PHP нашли критический баг 15-летней давности — он позволяет подменять чужие проекты

Ігор Грегорченко

В PHP PEAR обнаружена уязвимость 15-летней давности, которая позволяла осуществлять атаки на цепочку поставок кода. Тривиальная ошибка позволяла получить доступ для публикации собственных уязвимых пакетов и выполнять произвольный код на удаленном сервере.

Буквально на прошлой неделе мы писали про серию атак на инфраструктуру пакетов NPM, и вот аналогичный вектор атаки обнаружен в мире PHP. Вооруженный новым эксплойтом злоумышленник потенциально может скомпрометировать существующие учетные записи разработчиков или администраторов PEAR, чтобы затем опубликовать новые зловредные версии пакетов, что привело бы к масштабной компрометации цепочки поставок в мире PHP.

Проблему обнаружил Томас Шошфуан из SonarSource. Ошибка внесена в кодовую базу еще в 2007 году и была связана с использованием криптографически небезопасной, устаревшей функции mt_rand() в функции сброса пароля. Соответственно, понимание этой уязвимости  позволяло атакующему через штатный сброс пароля репозитория вычислить действительный пароль максимум за 50 попыток.

Вторая уязвимость, о которой упоминает специалист, должна использоваться в сочетании с первой для получения доступа к серверу. Баг связан с тем, что pearweb полагается на старую версию Archive_Tar (CVE-2020-36193), что может привести к удаленному выполнению произвольного кода.

 Вот как сам эксперт резюмирует суть уязвимости:

 «Атакующий, использующий первый баг, мог получить доступ к любой учетной записи разработчика и опубликовать вредоносный релиз, тогда как второй баг позволял получить постоянный доступ к центральному серверу PEAR. Это в свою очередь позволяло подменять и модифицировать чужие проекты.

Обе уязвимости существовали более десяти лет, их было легко найти и использовать, что вызывает вопросы о недостаточном вкладе в безопасность со стороны компаний, полагающихся на эти решения».

Уязвимости существуют во всех версиях PEAR до 1.32, в которой их наконец исправили. Она вышла 13 марта 2022 года.

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024