Специалисты по кибербезопасности зафиксировали новую опасную брешь в популярном инструменте управления зависимостями PHP-пакетов Composer. Уязвимость получила идентификатор BDU:2026-05574 и зарегистрирована в Банке данных угроз безопасности информации (BDU), а также в системе CVE под номером CVE-2026-40261. Проблема связана с недостаточной проверкой вводимых данных в функции syncCodeBase(). Злоумышленник, действующий удаленно, может отправить специально сформированный URL или исходную ссылку, что приведет к внедрению произвольных команд операционной системы.
Детали уязвимости
Характер ошибки классифицируется как CWE-20 (недостаточная проверка ввода) и CWE-78 (непринятие мер по нейтрализации специальных элементов в команде ОС). Таким образом, атака относится к классу уязвимостей кода. Специалисты подчеркивают: для эксплуатации не требуется аутентификация, а влияние на конфиденциальность, целостность и доступность данных максимально высокое.
Уязвимый менеджер пакетов Composer распространяется сообществом свободного программного обеспечения. Под удар попали версии от 1.0 до 2.2.27, а также ветка от 2.3 до 2.9.6 включительно. Примечательно, что проблема не зависит от операционной системы или аппаратной платформы - данные об этом все еще уточняются. Тем не менее уже ясно, что брешь затрагивает миллионы проектов по всему миру.
По шкале CVSS версии 2.0 базовая оценка достигает максимальных 10 баллов, что соответствует критическому уровню опасности. В более новой версии CVSS 3.1 показатель снижен до 8,8 баллов - это высокий уровень. Разница обусловлена изменением метрик: в CVSS 2.0 для достижения полного компрометации не требуется взаимодействие с пользователем, а в CVSS 3.1 такой сценарий оценивается как требующий участия жертвы (UI:R). Однако на практике атакующий может заманить разработчика на вредоносный репозиторий или сайт, и тогда риск остается очень серьезным.
Проблема была выявлена 14 апреля 2026 года. Уже через короткое время в открытом доступе появился код эксплуатации - соответствующий репозиторий GitHub опубликован под именем terminat0r7031. Способы атаки включают манипулирование ресурсами и инъекцию команд. Другими словами, злоумышленник может встроить команды в имя пакета или URL, а затем запустить их на сервере разработчика. В результате нарушитель получает полный контроль над системой, может закрепиться (persistence) и выполнить вредоносную полезную нагрузку (payload).
Производитель подтвердил уязвимость и выпустил исправления. Рекомендуется немедленно обновить Composer до версии 2.9.7 или выше, либо до последней версии в стабильной ветке 2.2.x. Важно понимать, что уязвимость устранена только после обновления. Если вы используете Composer в CI/CD-пайплайнах или в контейнерах Docker, убедитесь, что образы также обновлены. Кроме того, стоит проверить логи на предмет подозрительных вызовов syncCodeBase() - это может указывать на уже состоявшуюся атаку.
Критическая брешь в Composer демонстрирует, насколько опасными могут быть, казалось бы, безобидные ошибки ввода данных. Поскольку Composer является неотъемлемым инструментом в экосистеме PHP, каждый разработчик обязан оперативно применить патч. Промедление грозит компрометацией не только локальных машин, но и серверов, где разворачиваются приложения. Тем не менее, благодаря своевременному раскрытию информации и наличию официального исправления, ситуация остается под контролем - при условии, что пользователи последуют рекомендациям.
Ссылки
- https://bdu.fstec.ru/vul/2026-05574
- https://www.cve.org/CVERecord?id=CVE-2026-40261
- https://github.com/composer/composer/security/advisories/GHSA-gqw4-4w2p-838q
- https://github.com/terminat0r7031/composer-CVE-2026-40261-CVE-2026-40176-PoC