Interpreter.ru 🛡 В админку
Электронная коммерция • 28.10.2026 • рейтинг 6

Уязвимости в Sylius: что нужно знать и как защитить свой магазин

Уязвимости в Sylius: что нужно знать и как защитить свой магазин
В октябре 2023 года было зафиксировано шесть отчетов о проблемах с безопасностью в платформе Sylius, которые касаются доверия к данным, поступающим от запросов. Вместо того чтобы просто закрыть каждую из шести выявленных уязвимостей, команда разработчиков решила проанализировать каждую из них и выяснить, какие другие участки кода могут быть подвержены аналогичным рискам. В результате один из отчетов оказался более серьезным, чем ожидалось, что привело к исправлению в четырех классах вместо одного.

Обзор уязвимостей

Среди выявленных уязвимостей, отсортированных по степени серьезности, можно выделить следующие: 1. Обход авторизации в Shop API — уязвимость, которая позволяла получить доступ к данным других клиентов на Sylius 2.x. 2. Доступ к отключенному API — возможность обращения к API, который должен был быть недоступен. 3. Ссылка для сброса пароля клиента — возможность сделать так, чтобы ссылка указывала на внешний домен. 4. Неподтвержденные отзывы о товарах — отзывы, которые не были одобрены, становились доступными для чтения. 5. Условия гонки на лимиты акций и купонов — проблема, которая вернулась в версии 2.3.0, после того как была исправлена в марте. 6. Точка оплаты, игнорирующая конфигурацию каналов — конечная точка, которая не учитывала настройки методов оплаты. Исправления были выпущены в версиях Sylius 1.14.21, 2.1.17, 2.2.12 и 2.3.2. Если ваш магазин работает на более старых версиях, рекомендуется обновить систему. Обратите внимание, что версии 2.2.11 и 2.3.1, выпущенные 14 октября, не содержат этих исправлений. Версии Sylius 2.0.x и 1.x ниже 1.14 также подвержены уязвимостям и не получают поддержки безопасности, поэтому пользователям этих версий следует либо обновить, либо применить обходные решения из advisories.

Подробности о каждой уязвимости

CVE-2026-?: Доступ к отключенному API через закодированный путь

Влияние: Установка параметра `sylius_api.enabled: false` должна была сделать API недоступным, однако проверка этого параметра сравнивала необработанный, не декодированный путь запроса с префиксом API. Это позволило обойти защиту, используя процентное кодирование символов в пути. Исправления: Уязвимость была устранена в версиях 1.14.21, 2.1.17, 2.2.12, 2.3.2 и выше. Все релизы с момента введения настройки в 1.9.6 и 1.10.1 подвержены этой уязвимости. Обходные решения: Если обновление невозможно, рекомендуется заблокировать префикс API на уровне веб-сервера или зарегистрировать копию подписчика запроса ядра, который декодирует путь перед применением проверки.

CVE-2026-?: Инъекция заголовка Host в ссылке для сброса пароля

Влияние: Если канал, обрабатывающий запрос, не имеет настроенного имени хоста и `framework.trusted_hosts` не установлен, ссылки в отправляемых электронных письмах формировались на основе заголовка Host запроса. Это позволяло злоумышленнику, знающему адрес электронной почты клиента, запрашивать сброс пароля и перенаправлять ссылку на свой домен. Исправления: Уязвимость была устранена в версиях 1.14.21, 2.1.17, 2.2.12, 2.3.2 и выше. Обходные решения: Настройте имя хоста для каждого канала или ограничьте принимаемые хосты с помощью `framework.trusted_hosts`.

CVE-2026-?: Неподтвержденные отзывы о товарах доступны через Shop API

Влияние: Конечная точка `GET /api/v2/shop/product-reviews/{id}` возвращала отзывы о товарах независимо от их статуса модерации, что позволяло злоумышленникам получать доступ к неподтвержденным отзывам. Исправления: Уязвимость была устранена в версиях 1.14.21, 2.1.17, 2.2.12, 2.3.2 и выше. Обходные решения: Если обновление невозможно, зарегистрируйте собственное расширение запроса элемента, которое добавляет условие `status = accepted` к запросам API.

Заключение

Эти исправления касаются областей, которые непосредственно влияют на взаимодействие с клиентами и операции магазина, включая доступ к данным клиентов через API, восстановление учетных записей, платежи, акции и модерацию контента. Обновление вашей установки Sylius и информирование сообщества о данных исправлениях поможет обеспечить более безопасную среду для всех пользователей.
Источник:   Sylius Blog