ShinyHunters взломали сайт Clop через уязвимость path traversal в Grav CMS
Группировка вымогателей Clop перенесла свой leak-сайт на новый Tor-адрес после подтверждения компрометации предыдущего сервера. Взлом был осуществлён через незакрытую уязвимость path traversal в Grav CMS.
Как это произошло?
ShinyHunters использовали уязвимость CVE-2026-42608 в Grav CMS 1.7.43. Уязвимый код использовал значения из POST-параметров формы при создании временных директорий загрузки без их проверки. Через параметр __unique_form_id__ с последовательностями обхода пути (например, ../../../shhq) атакующие могли записывать файлы за пределами предназначенной директории tmp/forms.
Grav CMS подтвердила BleepingComputer, что описание атаки от ShinyHunters точное. Уязвимость была исправлена в Grav 2.0 ещё в начале года — добавлена функция sanitizeId(), принимающая только идентификаторы вида [A-Za-z0-9,_-]{1,64}. Однако патч не был бэкпортирован в ветку 1.7, оставив уязвимыми установки вроде Clop.
«Пробел был в ветке 1.7. Grav 2.0 — текущая мажорная версия, но многие сайты по-прежнему на 1.7, и туда фикс ещё не был перенесён.»
— Grav CMS
После получения информации от BleepingComputer разработчики оперативно бэкпортировали исправление и выпустили Grav 1.7.53.4. Пользователи Grav 2.x были защищены уже несколько месяцев назад.
Позиция Clop
Clop подтвердила, что Grav не был своевременно обновлён, однако оспаривает ценность похищенных данных:
«Мы не обновили плагин Grav вовремя, но на сервере не было ничего, кроме контента — никаких данных или финансовой активности там не было и не могло быть. Поэтому их заявления ничего не стоят.»
— Clop
Clop также отрицает какие-либо отношения или переговоры с ShinyHunters. Тем не менее Clop тихо исчезла с leak-сайта ShinyHunters — что обычно происходит, когда переговоры всё же ведутся. ShinyHunters отказались комментировать это.
Что делать пользователям Grav?
- Пользователям ветки Grav 1.7 — обновиться до версии 1.7.53.4 немедленно
- Пользователи Grav 2.x уже защищены
- Уязвимость находится в ядре Grav, а не в плагине Form — версия плагина значения не имеет