Пардон за небольшую задержку Попросили немного подождать с публикацией деталей.
Уязвимость была в функционале сортировки офферов. В куки параметре
form_filter хранилось сериализованное состояние текущего фильтра, что позволяло совершить атаку вида
PHP Object Injection.
Картина осложнялась тем, что привычные классы, для которых есть общеизвестные цепочки, отсутствовали, либо лежали в другом пространстве имён. К счастью, по стандартному пути
composer-a (
/vendor/composer/installed.json ), ожидал небольшой сюрприз В виде единственной либы
phpseclib. Которая, после небольшого исследования, позволила эскалировать угрозу до
Remote Code Execution:
Для любителей поковыряться, в аттаче прилагается небольшая лаба, моделирующая этот кейс. Для крафта цепочки, теперь
уже можно воспользоваться
PHPGGC, или комплектным скриптом из видео.
Что касается реакции
M1-SHOP. Внимательно выслушали, приняли к сведению, поблагодарили и отблагодарили финансово
$1k Уязвимость исправили заменой дефолтной сериализации на
JSON.
Так же, попутно, был отправлен ещё один отчёт, который оценили как некритичный, с пометкой:
Сообщение от
None
...раздел этот у нас обычно запрятан, а тут открыли для внутренних нужд...
И дали на чай, те самые
"2000 руб" которые поджарили пердак ТС-у
В целом, по первоначальной ситуации, кто прав, кто виноват, судить не возьмусь. Но у меня, по сотрудничеству, остались только положительные впечатления. А вывод таков, что с багами ниже чем
RCE на проде, ребят нет смысла беспокоить и не стоит тешить себя надеждами