В PEAR (сокращение от PHP Extension and Application Repository) обнаружена уязвимость 15-летней давности, которая позволяла осуществлять атаки на цепочку поставок, включая получение доступа для публикации мошеннических пакетов и выполнение произвольного кода.
О старой-новой проблеме рассказал Томас Шошфуан (Thomas Chauchefoin) из SonarSource. По его словам, ошибка появилась в коде еще в 2007 года и была связана с использованием криптографически небезопасной функции mt_rand() в функции сброса пароля, что помогало атакующему «обнаружить действительный пароль и сбросить токен менее чем за 50 попыток».
«Атакующий, использующий первый баг, мог получить доступ к любой учетной записи разработчика и опубликовать вредоносный релиз, тогда как второй баг позволял получить постоянный доступ к центральному серверу PEAR», — пишет эксперт.
Вооруженный эксплоитом, злоумышленник мог атаковать существующие учетные записи разработчиков или администраторов, чтобы захватить контроль над ними, а затем опубликовать новые и опасные версии пакетов, что привело бы к масштабной компрометации цепочки поставок.
Вторая уязвимость, о которой упоминает специалист, должна использоваться в сочетании с первой проблемой для получения начального доступа. Баг связан с тем, что pearweb полагается на старую версию Archive_Tar, которая подвержена проблеме обхода каталога (CVE-2020-36193), что может вести к удаленному выполнению произвольного кода.
«Эти уязвимости существовали более десяти лет, и их было легко найти и использовать, что вызывает вопросы о недостаточном вкладе в безопасность со стороны компаний, полагающихся на эти решения», — резюмирует Шошфуан.
Фото: SonarSource