CVE-2026-53638
ŚrednieCVSS 4.3Streszczenie
Sylius, framework e-commerce oparty na Symfony, zawiera podatność polegającą na obejściu autoryzacji w API konta sklepu. Endpoint PATCH /api/v2/shop/account/orders/{tokenValue}/payments/{paymentId} nie sprawdza, czy wybrana metoda płatności jest włączona dla kanału zamówienia, co pozwala uwierzytelnionemu klientowi przypisać dowolną globalnie włączoną metodę płatności do swojego zamówienia, w tym metody wykluczone przez operatora sklepu.
Ocena ryzyka
Uwierzytelniony klient może użyć niedozwolonych metod płatności, co może prowadzić do strat finansowych lub naruszenia polityk płatniczych sklepu.
Rekomendacja
Zaleca się aktualizację Sylius do wersji 2.0.18, 2.1.15, 2.2.6 lub nowszej. Jako obejście można udekorować usługę PaymentMethodChangerInterface.
Inne podatności w Sylius
Zobacz wszystkie- CVE-2026-53639Średnie
Sylius, framework e-commerce oparty na Symfony, zawiera podatność w wersjach od 2.0.0 do 2.0.17, 2.1.14 i 2.2.5. Punkty końcowe API GET i PUT dla płatności nie weryfikują własności zasobu na podstawie hasha, co pozwala atakującemu na odczyt danych płatności i zamówienia oraz modyfikację pól przekierowań. Podobny problem dotyczy tworzenia płatności, gdzie nie sprawdza się właściciela zamówienia.
- CVE-2026-53637Średnie
Sylius, framework e-commerce oparty na Symfony, zawiera podatność polegającą na niewłaściwym egzekwowaniu przepływu pracy w komponencie koszyka FormComponent. Gdy zamówienie jest finalizowane, a strona koszyka pozostaje otwarta, nieaktualny LiveComponent nie wykrywa zmiany stanu zamówienia i nadal pozwala na akcje koszyka, umożliwiając uwierzytelnionemu klientowi modyfikację lub trwałe usunięcie już sfinalizowanego zamówienia.
Oryginalny opis (angielski, źródło NVD)
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.

