CVE-2026-53638
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
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-108724Średnie
Sylius do wersji 2.3.0 zawiera podatność obejścia autoryzacji, która pozwala nieuwierzytelnionym atakującym czytać nieumoderowane i odrzucone recenzje produktów, ponieważ filtr AcceptedExtension nie jest stosowany do operacji na elemencie. Atakujący mogą enumerować sekwencyjne identyfikatory na GET /api/v2/shop/product-reviews/{id}, aby uzyskać tytuły recenzji, oceny, komentarze, znaczniki czasu i imiona autorów, omijając moderację sprzedawcy.
- CVE-2026-100872Wysokie
Sylius przed wersjami 2.1.16 i 2.2.9 nie waliduje kwot płatności podczas przeliczania koszyka, co pozwala nieuwierzytelnionym atakującym zmodyfikować sumę zamówienia po inicjacji transakcji bramki płatniczej. Atakujący mogą zapłacić małą kwotę, powiększyć zamówienie po przechwyceniu przez bramkę, a system oznaczy zawyżone zamówienie jako w pełni opłacone, podczas gdy bramka przechwyciła tylko pierwotną kwotę.
- CVE-2026-100871Wysokie
Sylius przed wersjami 1.12.25, 1.13.17, 1.14.20, 2.1.16 i 2.2.9 nie uwzględnia identyfikacji zapory w tokenach JWT wydawanych przez osobne punkty końcowe API Admin i Shop. Atakujący mogą zarejestrować konto klienta sklepu używając adresu e-mail administratora i uzyskać token, który API Admin rozpoznaje jako administratora, dając pełny dostęp administracyjny.
- CVE-2026-100870Wysokie
Sylius przed wersjami 1.12.25, 1.13.17, 1.14.20, 2.1.16 i 2.2.9 buduje linki do resetowania hasła administratora używając nagłówka Host żądania bez walidacji, co pozwala nieuwierzytelnionym atakującym przekierować tokeny resetowania na domeny kontrolowane przez atakującego. Atakujący mogą żądać resetów haseł dla znanych adresów e-mail administratorów z sfałszowanymi nagłówkami Host, aby przechwycić ważne tokeny i przejąć konta administratorów.
- CVE-2026-100869Średnie
Wersje Sylius przed 2.1.16 i 2.2.9 nie ograniczają akcji żądań płatności w punkcie końcowym Shop API, umożliwiając klientom wywoływanie zwrotów dla zakończonych zamówień. Atakujący posiadający tokeny zamówień mogą wysyłać dowolne akcje płatności, takie jak zwroty, które bramki płatności wykonują, podczas gdy Sylius nadal traktuje zamówienie jako opłacone.
- 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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

