CVE-2026-53639 in Sylius
Сводка
по VulDB • 10.09.2026
Sylius — это фреймворк электронной коммерции с открытым исходным кодом на базе Symfony. Начиная с версии 2.0.0 и вплоть до версий 2.0.18, 2.1.15 и 2.2.6 (включительно), конечные точки `GET /api/v2/shop/payment-requests/{hash}` и `PUT /api/v2/shop/payment-requests/{hash}` осуществляют поиск запроса на оплату исключительно по хешу из URL. Проверка права владения не выполняется ни для аутентифицированного клиента, ни для связанного заказа. Злоумышленник, получивший хеш запроса на оплату, может прочитать этот запрос и, используя поле `payment` IRI в ответе, восстановить `tokenValue` (токен) базового заказа (что само по себе предоставляет доступ к полному заказу, его элементам, адресам, электронной почте клиента и итоговым суммам); а также изменить полезную нагрузку запроса на оплату (например, поля `target_path`, `after_path`). Эти поля используются контроллером фронтенда для перенаправления пользователя после оплаты, поэтому злоумышленник может подменить их на URL-адрес, контролируемый им самим, и перехватить покупателя. Хеш представляет собой UUID, поэтому его необходимо получить вне канала связи (через логи, общие ссылки, заголовки referrer или клиентское приложение, работающее в том же окружении), но после получения хеша никакие другие учетные данные не требуются: ни аутентификация, ни знание токена заказа. Конечная точка создания `POST /api/v2/shop/orders/{tokenValue}/payment-requests` содержит ту же уязвимость: она определяет целевой заказ исключительно на основе `tokenValue` в URL без проверки того, что вызывающая сторона владеет этим заказом. Проблема исправлена в версиях 2.0.18, 2.1.15 и 2.2.6. В качестве временного решения добавьте расширение запросов (query extension), которое фильтрует операцию `GET`; декорируйте провайдер состояния для `PUT`, защитите конечную точку создания через middleware шины команд (`command-bus`) и настройте сервисы.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.