PS Summit! We’re organizing a major event
3 min. read
Categories: Security
Security blog post: Updates for 2.x versions

Security is, and always will be, our top priority. Protecting the merchants and customers who rely on Sylius every day is something we treat as a continuous responsibility. This is why we strongly recommend keeping Sylius installations up to date, especially when security releases are available. This round of fixes started with a few independent reports concerning the shop API and the cart Live Components. Rather than patching each one on its own, we reviewed the authorization and order-state handling around them more thoroughly, so that every affected operation is hardened in the same consistent way.

If your store runs a version below 2.0.18, 2.1.15 or 2.2.6, we strongly encourage you to upgrade as soon as possible. The issues described below include a broken object-level authorization (IDOR) on payment requests, an authorization bypass on the account payments endpoint, and a race condition that can corrupt or even delete an order that has already been placed, with possible data loss and financial impact for merchants.

A safe eCommerce environment depends on staying ahead of issues like these, and we are grateful for the trust and vigilance of our community. Below, we outline each issue, its impact, and the steps you should take to protect your business.

Sylius 2.0 and above

CVE-2026-?: IDOR on Shop Payment Request endpoints in API

The original security advisory has been published on GitHub at Sylius/Sylius repository.

Impact

The PATCH /api/v2/shop/account/orders/{tokenValue}/payments/{paymentId} endpoint, used by an authenticated customer to change the payment method of a placed but unpaid order, does not validate that the chosen payment method is enabled for the order’s channel. The equivalent checkout endpoint 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 order, including methods the store operator has explicitly excluded from that channel.

Patches

The issue is fixed in versions: 2.0.18, 2.1.15, 2.2.6 and above.

Workarounds

If an immediate upgrade is not possible, decorate the PaymentMethodChangerInterface service to re-validate the chosen payment method against the channel’s supported methods. See the full workaround in the advisory.

CVE-2026-?: Modification or Deletion of an Already-Completed Order via the Cart FormComponent

The original security advisory has been published on GitHub at Sylius/Sylius repository.

Impact

When the cart page is open in the browser and the underlying order becomes completed in the background (e.g. an admin changes its status, or the customer finalizes payment in another tab), the cart Live Component remains unaware of the state change. Clearing the cart then calls manager->remove() on the completed order and permanently deletes it; removing an item or changing a quantity mutates the completed order. The customer’s order data is irreversibly corrupted or lost even though the order has already been placed and paid for. The same vector can be triggered deliberately by an authenticated customer to alter quantities beyond what was paid for.

Patches

The issue is fixed in versions: 2.0.18, 2.1.15, 2.2.6 and above.

Workarounds

If an immediate upgrade is not possible, override the cart FormComponent at the project level so that any order in the completed checkout state is treated as a fresh cart and can no longer be mutated or deleted. See the full workaround in the advisory.

Reporters

We would like to extend our gratitude to the researchers who responsibly disclosed these vulnerabilities:

  • IDOR on Shop Payment Request endpoints in API – Fase Rais Baradika (@baradika) and Anshu Chimala (@achimala)
  • Channel-based Payment Method Restriction Bypass on Shop Account Orders API@FredrikEV
  • Modification or Deletion of an Already-Completed Order via the Cart FormComponent – Kévin Gonella (@kgonella)

Summary

#AdvisorySeverity
1.IDOR on Shop Payment Request endpoints in APIModerate
2.Channel-based Payment Method Restriction Bypass on Shop Account Orders APIModerate
3.Modification or Deletion of an Already-Completed Order via the Cart FormComponentModerate

These fixes address areas that directly affect the customer journey and store operations, including payments, order access, and order completion.

We recommend updating your Sylius installation as soon as you can. Sharing these fixes with others in the community also helps keep the whole ecosystem safer for everyone.We would like to thank everyone who participated in responsible disclosure of these vulnerabilities. If you believe you have found a security vulnerability in Sylius, please do not post it publicly. Instead, report it to [email protected].

Tags: news Sylius
Share:
Kamil Grygierzec
Kamil started to be interested in programming in 2016, because of the local CoderDojo sessions. He always wanted to be front-end developer, but at the end felt more suitable in back-end. IT technician since childhood, huge IOT enthusiast, occasionally football player and madridista wholeheartedly.
More from our blog
Technical 3 min read 04.12.2024
Here’s everything you had to know about the first major release since 2017! Over 7 years after the first major release, on Nov 12, 2024, we have released Sylius 2.0.0. We had a great opportunity to announce it first at SyliusCon in Lyon, but now, as we are back to… Read More
3 min read 22.11.2024
The emotions start to settle after SyliusCon, and it’s time to reflect on this incredible milestone in our journey. Why a milestone? Because SyliusCon exceeded our expectations in every possible way. We broke attendance records and brought together the key figures of our community, numerous partners, freelancers, and simply all… Read More
Cloud 3 min read 17.06.2024
We are thrilled to announce that we just signed a strategic partnership with Upsun, and as a result, we are extending our offer with Sylius Cloud powered by Upsun. Upsun is a modern Platform-as-a-Service (PaaS) solution that allows businesses to leverage the cloud environment without losing access to the code… Read More
Comments