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

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

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

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

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

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

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

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

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

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

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Две уязвимости в Node.js ставят под удар миллионы Windows-приложений

Кураторы проекта Node.js из OpenJS Foundation выпустили обновления с патчами в ветках 24.x, 22.x и 20.x. Апдейты устраняют проблемы, актуальные для приложений Windows и веб-сервисов, использующих JavaScript-движок V8.

По оценкам экспертов, затронуты миллионы серверных и полнофункциональных приложений. Уровень угрозы в обоих случаях определен как высокий.

Уязвимость CVE-2025-27210 представляет собой возможность обхода защиты от path traversal (выхода за пределы рабочего каталога), которая проявляется при использовании API-функции path.join() и возникла из-за неполного патча для CVE-2025-23084.

Ошибка в реализации функции path.normalize() позволяет получить несанкционированный доступ к файлам и папкам с помощью недопустимого имени — такого как CON, PRN, AUX (в Windows резервируются для системных устройств, к которым можно обратиться напрямую).

Уязвимость CVE-2025-27209 классифицируется как HashDoS — возможность вызвать отказ приложения (DoS) через создание множественных коллизий хешей. Проблема была привнесена с выпуском Node.js 24.0.0, который изменил алгоритм вычисления хешей строк.

Реализованная в движке V8 хеш-функция rapidhash ускорила процесс, но при этом также открыла дверь для атак HashDoS. Злоумышленник, контролирующий ввод строк для хеширования, может скормить в хеш-таблицу данные таким образом, чтобы все они попали в один слот.

В результате скорость поиска элементов и вставки новых коллизий упадет, а потребление памяти будет расти, что в итоге приведет к DoS. Знания зерна алгоритма для генерации хеш-коллизий в данном случае не потребуется.

Патчи для Node.js включены в состав сборок 20.19.4, 22.17.1 и 24.4.1. Организациям, использующим Windows-приложения на основе Node.js, рекомендуется приоритизировать обновление.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru