Ad

CVE-2026-53638

MEDIUM CVSS 3.1: 4,3 EPSS 0.28%
Обновлено 14 сентября 2026
Sylius
Параметр Значение
CVSS 4,3 (MEDIUM)
Уязвимые версии до 2.0.18
Тип уязвимости CWE-863 (Неправильная авторизация)
Поставщик Sylius
Публичный эксплойт Нет

Sylius — это платформа электронной коммерции с открытым исходным кодом на Symfony. Начиная с версии 2.0.0 и до версий 2.0.18, 2.1.15 и 2.2.6, в API учетной записи магазина существует уязвимость, позволяющая обойти авторизацию. Конечная точка `PATCH /api/v2/shop/account/orders/{tokenValue}/Payments/{PaymentId}`, используемая аутентифицированным клиентом магазина для изменения способа оплаты заказа, который был размещен, но еще не оплачен (состояние `STATE_NEW`), не проверяет, включен ли выбранный метод оплаты для канала заказа.

Эквивалентная конечная точка оформления заказа (`PATCH /api/v2/shop/orders/{tokenValue}/Payments/{PaymentId}`) правильно отклоняет внеканальные способы оплаты с помощью `HTTP 422`; конечная точка учетной записи молча принимает их и возвращает HTTP 200. Таким образом, аутентифицированный клиент может назначить любой глобально активированный способ оплаты для своего собственного размещенного заказа, включая методы, которые оператор магазина явно исключил из этого канала. Проблема исправлена ​​в версиях: 2.0.18, 2.1.15, 2.2.6 и выше.

В качестве обходного пути украсьте сервис `Sylius\Bundle\ApiBundle\Changer\PaymentMethodChangerInterface` в приложении.

Показать оригинальное описание (EN)

Sylius is an Open Source eCommerce Framework on Symfony. Starting in version 2.0.0 and prior to version 2.0.18, 2.1.15, and 2.2.6, an authorization bypass vulnerability exists in the shop account API. The `PATCH /api/v2/shop/account/orders/{tokenValue}/payments/{paymentId}` endpoint, used by an authenticated shop customer to change the payment method of an order that has been placed but not yet paid (state `STATE_NEW`), does not validate that the chosen payment method is enabled for the order's channel. The equivalent checkout endpoint (`PATCH /api/v2/shop/orders/{tokenValue}/payments/{paymentId}`) correctly rejects out-of-channel payment methods with `HTTP 422`; the account endpoint silently accepts them and returns `HTTP 200`. An authenticated customer can therefore assign any globally enabled payment method to their own placed order, including methods that the store operator has explicitly excluded from that channel. The issue is fixed in versions: 2.0.18, 2.1.15, 2.2.6 and above. As a workaround, decorate the `Sylius\Bundle\ApiBundle\Changer\PaymentMethodChangerInterface` service in the application.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Низкое
Частичная модификация данных
Доступность
Нет
Нет нарушения работы

Строка CVSS v3.1