CVE-2026-47741
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 15 - wyżej niż 15% wszystkich znanych CVE
Streszczenie
W Shopper, headless e-commerce panelu administracyjnym, przed wersją 2.8.0, funkcja CreateOrderFromCartAction::execute tworzyła zamówienie przed sprawdzeniem i inkrementacją licznika total_use rabatu. Przy współbieżnym obciążeniu (Black Friday, wyprzedaż błyskawiczna, wiralny kupon) globalny limit użycia był cicho przekraczany: zamówienia były zatwierdzane z pełnym rabatem, podczas gdy licznik blokował się na limicie. Sprzedawca nie miał sygnału o nadmiernym wykorzystaniu rabatu.
Ocena ryzyka
Organizacja może ponieść straty finansowe z powodu nadmiernego wykorzystania rabatów, a także utraty zaufania klientów i problemów z księgowością.
Rekomendacja
Należy natychmiast zaktualizować Shopper do wersji 2.8.0 lub nowszej, która zawiera poprawkę.
Inne podatności w Shopper
Zobacz wszystkie- CVE-2026-47744Krytyczne
Shopper, panel administracyjny e-commerce headless, przed wersją 2.8.0 zawiera dwie wady autoryzacji w ustawieniach zespołu. Umożliwiają one każdemu uwierzytelnionemu użytkownikowi przejęcie systemu RBAC, tworzenie nowych ról, usuwanie innych użytkowników (w tym administratorów) oraz eskalację uprawnień do pełnego administratora panelu.
- CVE-2026-62991Średnie
Shopper to headless panel administracyjny e-commerce. W wersji przed 2.10.1 trasa szczegółów klienta /cpanel/customers/{user}/show sprawdza uprawnienie read_customers, ale wyszukuje dowolny identyfikator użytkownika bez zastosowania zakresu roli customers używanego na liście. Uwierzytelniony personel z access_dashboard i read_customers może zmienić ID użytkownika, aby uzyskać profile administratorów lub personelu, mimo braku view_users. Luka ujawnia dane profilu i umożliwia enumerację ID użytkowników; w połączeniu z delete_customers może umożliwić destrukcyjne działania wobec kont niebędących klientami. Problem naprawiono w wersji 2.10.1.
- CVE-2026-62990Wysokie
Podatność typu stored XSS w panelu administracyjnym Shopper pozwala uwierzytelnionemu pracownikowi z uprawnieniami do przesyłania treści na zapisanie wykonywalnych plików HTML lub SVG, które są serwowane bez nagłówka Content-Disposition i CSP. Gdy administrator otworzy taki plik, złośliwy skrypt wykonuje się w jego sesji i może utworzyć nowe konto administratora z wybranym hasłem. Problem dotyczy wersji 2.0.0–2.10.0 oraz 3.0.0-beta.1 i beta.2; naprawiono w 2.10.1 i 3.0.0-beta.3.
- CVE-2026-62989Wysokie
W Shopper przed wersją 2.10.0 komponent Livewire Variants w packages/admin/src/Livewire/Components/Products/Form/Variants.php udostępnia DeleteAction i DeleteBulkAction bez autoryzacji po stronie serwera. Uwierzytelniony pracownik z uprawnieniem edit_products może uzyskać podpisany stan komponentu i trwale usuwać pojedyncze lub wiele wariantów bez uprawnienia delete_product_variants. Może to zniszczyć katalog produktów i zakłócić działanie sklepu, koszyka i finalizacji zamówień. Problem naprawiono w wersji 2.10.0.
- CVE-2026-56828Wysokie
Shopper to headless panel administracyjny e-commerce. Od wersji 2.8.0 do 2.8.1 trzy komponenty Livewire zachowują luki w autoryzacji: pracownik z uprawnieniami tylko `view_users` i `access_dashboard` może zmieniać uprawnienia, tworzyć administratora lub usuwać role. Może nadać dowolne uprawnienia, w tym `access_setting` własnej roli, utworzyć wstępnie zweryfikowanego administratora z wybranym hasłem lub usunąć role, co umożliwia eskalację uprawnień i denial of service w RBAC.
- CVE-2026-114387Wysokie
W aplikacji Shopper od wersji 2.0.0 do 2.6.0 występuje brak autoryzacji, który pozwala użytkownikom panelu administracyjnego z uprawnieniem `access_dashboard` na tworzenie administratorów i nadawanie uprawnień. Atakujący mogą wywołać `CreateTeamMember::store()` lub `Permissions::togglePermission()` bezpośrednio przez `/livewire/update`, aby utworzyć konta administratorów i eskalować uprawnienia.
- CVE-2026-56826Średnie
W panelu administracyjnym Shopper (Headless e-commerce Admin Panel) w wersjach od 2.0.0 do 2.9.2 uwierzytelnieni użytkownicy z uprawnieniem access_setting mogli wywołać destrukcyjne akcje przez endpoint Livewire, ponieważ komponenty ustawień stref wysyłki, stref podatkowych i stawek podatkowych nie egzekwowały autoryzacji usuwania po stronie serwera. Możliwe było usunięcie opcji przewoźników, stref wysyłki, stref podatkowych oraz stawek podatkowych. Problem naprawiono w wersji 2.9.2.
- CVE-2026-56831Średnie
Shopper to headlessowy panel administracyjny e-commerce. W wersjach przed 2.9.0 interfejs administracyjny /cpanel/discounts akceptuje ujemne wartości rabatu fixed_amount, zapisuje je w sh_discounts i przekazuje przez DiscountCalculator.php oraz Calculate.php bez wymuszenia dodatniej wartości. Ponieważ obliczenia odejmują discountTotal od sumy częściowej, ujemny rabat zwiększa końcową wartość zamówienia zamiast ją zmniejszać.
- CVE-2026-56830Średnie
Shopper to headlessowy panel administracyjny e-commerce. W wersjach przed 2.9.2 wcześniejsza zmiana wzmacniająca podformularz produktu pozostawiła metodę store() w Media.php bez sprawdzenia autoryzacji edit_products używanego przez inne podformularze. Uwierzytelniony pracownik z uprawnieniem browse_products może wywołać akcję Livewire store i zastąpić miniaturę oraz obrazy galerii produktu, którego komponent Media został zainicjowany, nawet bez uprawnienia do edycji produktu.
- CVE-2026-56829Wysokie
W Shopper przed wersją 2.9.2 plik packages/admin/src/Livewire/Components/Products/VariantStock.php udostępnia stockAction() bez autoryzacji edit_product_variants i pozostawia public $variant mutowalnym po stronie klienta, ponieważ brakuje atrybutu Livewire Locked. Każdy uwierzytelniony użytkownik panelu administracyjnego, w tym personel z uprawnieniem tylko browse_products, może wybrać dowolny wariant produktu i lokalizację magazynu poprzez stan komponentu, a następnie przesłać dodatnią lub ujemną korektę ilości. Pozwala to personelowi z uprawnieniem tylko przeglądania zawyżać stany magazynowe, zmniejszać je lub wymuszać stany wyprzedania dla wariantów spoza bieżącej strony. Problem naprawiono w wersji 2.9.2.
Oryginalny opis (angielski, źródło NVD)
Shopper is a Headless e-commerce Admin Panel. Prior to 2.8.0, CreateOrderFromCartAction::execute previously created the Order row before checking and incrementing the discount's total_use counter. Under concurrent checkout pressure (Black Friday, flash sale, viral coupon), the global usage_limit was silently exceeded: orders were committed with the discount fully applied to price_amount while the counter blocked at usage_limit. The merchant had no signal that an over-redemption had occurred. This vulnerability is fixed in 2.8.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

