Composer випустив версії 2.9.6 та 2.2.27 LTS, щоб усунути дві вразливості, що дозволяли ін'єкцію команд у драйвері Perforce VCS: CVE-2026-40261 та CVE-2026-40176.
Команда розробників закликає негайно оновити Composer до версії 2.9.6 або 2.2.27 (LTS), виконавши команду
composer.phar self-update. Оновлення виправляють критичні помилки безпеки в драйвері Perforce VCS. Про вразливість CVE-2026-40261 повідомив Koda Reef, а про CVE-2026-40176 — saku0512.Наразі немає жодних доказів того, що ці вразливості були використані зловмисниками до моменту публікації звіту.
Проблема полягає у недостатньому екрануванні значень, які використовуються для формування команд у shell-оболонці драйвера Perforce VCS.
# Деталі вразливостей
Перша вразливість, CVE-2026-40176, стосується методу Perforce::generateP4Command(). Вона може бути активована, якщо шкідливий проєкт містить підконтрольні зловмиснику параметри підключення Perforce (порт, користувач або клієнт) у файлі composer.json. Це стосується лише конфігурації кореневого проєкту або глобальних налаштувань Composer, а не залежностей у пакеті.
Друга вразливість, CVE-2026-40261, виявлена у методі Perforce::syncCodeBase(). Вона дозволяє ін'єкцію команд через спеціально сформоване посилання на джерело (source reference). Це може статися під час встановлення або оновлення залежностей із шкідливого репозиторію Composer, особливо при використанні параметра --prefer-source. Важливо, що спроба виконання впровадженої команди відбувається навіть тоді, коли Perforce не встановлено в системі.
# Рекомендації та захист
Розробники Composer рекомендують негайно оновитися. Виправлення вже доступні у версіях 2.9.6 (основна гілка) та 2.2.27 (2.2 LTS):
composer self-update
Для додаткового захисту варто:
- Надавати перевагу встановленню дистрибутивів:
--prefer-distабоpreferred-install: dist; - Уникати використання неперевірених репозиторіїв Composer;
- Перевіряти вміст
composer.jsonперед запуском команд у маловідомих проєктах.
Packagist повідомляє, що перевірка Packagist.org та Private Packagist не виявила слідів експлуатації вразливостей. Як запобіжний захід:
- Публікацію метаданих Perforce на Packagist.org призупинили з 10 квітня 2026 року;
- Драйвер Perforce VCS у Private Packagist вимкнено з тієї ж дати.
На момент оприлюднення інформації ознак масового використання цих вразливостей немає.
Якщо ви використовуєте Composer для локальної розробки, у CI-пайплайнах або автоматизованих процесах, перевірте свою версію та встановіть патч якомога швидше.
Повний текст оголошення з усіма деталями доступний за посиланням.