CVE-2026-53638 Sylius: Channel-based payment method restriction bypass on shop account orders API endpoint
Authenticated users can bypass channel restrictions to assign unauthorized payment methods to their orders via the shop account API.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-53638?
CVE-2026-53638 is a medium-severity missing authorization vulnerability in Sylius, published on 8 Sep 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
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.
Weakness: CWE-863
Which versions are affected by CVE-2026-53638?
6 open source packages ship an affected version, including sylius/sylius.
| Package | Affected | Fixed in |
|---|---|---|
sylius/sylius Packagist | From 2.0.0 | 2.0.18 |
sylius/sylius Packagist | From 2.0.0 | 2.0.18 |
sylius/sylius Packagist | From 2.1.0 | 2.1.15 |
sylius/sylius Packagist | From 2.1.0 | 2.1.15 |
sylius/sylius Packagist | From 2.2.0 | 2.2.6 |
sylius/sylius Packagist | From 2.2.0 | 2.2.6 |
How do I fix CVE-2026-53638?
Upgrade sylius/sylius to a fixed version for your release line: 2.0.18, 2.1.15 or 2.2.6.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-53638 being exploited?
There is no known exploitation of CVE-2026-53638 in the wild and no public exploit code.
Sources
Also known as GHSA-6955-hrm5-c4qp.