Podatności Shopper
11 znanych podatności CVE w Shopper, przetłumaczonych i ocenionych.
- 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-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.
- CVE-2026-56827Wysokie
W Shopper przed wersją 2.9.2 akcje grupowe groupedBulkActions w plikach packages/admin/src/Livewire/Pages/Attribute/Browse.php, Tag/Index.php, Brand/Index.php, Category/Index.php i Supplier/Index.php pomijają autoryzację po stronie serwera, podczas gdy strony wymagają jedynie uprawnień browse_attributes, browse_tags, browse_brands, browse_categories lub browse_suppliers. Użytkownik personelu z uprawnieniem tylko przeglądania może wywołać DeleteBulkAction, aby masowo usuwać atrybuty lub tagi, oraz BulkAction::make('enabled') lub BulkAction::make('disabled'), aby zmieniać widoczność atrybutów, marek, kategorii lub dostawców. Operacje te mogą zepsuć warianty produktów i poważnie zakłócić widoczność katalogu sklepu. Problem naprawiono w wersji 2.9.2.
- CVE-2026-56825Wysokie
W Shopper przed wersją 2.9.2 plik packages/admin/src/Livewire/Components/Collection/CollectionProducts.php udostępnia Action::make('delete') i DeleteBulkAction::make() bez autoryzacji delete_collections, a public Collection $collection pozostaje mutowalny po stronie klienta, ponieważ brakuje atrybutu Livewire Locked. Uwierzytelniony użytkownik personelu z uprawnieniem tylko browse_collections może wywołać akcję usuwania Livewire, podstawić dowolny identyfikator kolekcji i odłączyć wybrane produkty lub opróżnić kolekcję. Może to zakłócić działanie stron docelowych katalogu i promocji powiązanych z docelową kolekcją. Problem naprawiono w wersji 2.9.2.
- CVE-2026-47743Wysokie
W panelu administracyjnym Shopper (headless e-commerce) przed wersją 2.8.0 wykryto trzy powiązane defekty: brak blokady identyfikatorów modeli Eloquent w komponentach Livewire umożliwiał manipulację danymi, przesyłanie hasła w postaci jawnego tekstu przez ukryte pole formularza prowadziło do ujawnienia wrażliwych danych, a pole kodu kreskowego produktu było renderowane bez odpowiedniego escapingu, co pozwalało na trwałe przechowywanie złośliwego kodu XSS.
- CVE-2026-47745Średnie
Shopper przed wersją 2.8.0 nie sprawdza uprawnień dla akcji włączania/wyłączania, edycji i usuwania w tabelach admina dla PaymentMethods, Currencies i Carriers. Użytkownik z niskimi uprawnieniami może wyłączyć metody płatności, zmienić domyślną walutę lub wyłączyć przewoźników.
- CVE-2026-47742Średnie
Shopper przed wersją 2.8.0 zawiera podatność w komponentach Livewire używanych w edytorze produktów (Edit, Inventory, Seo, Shipping, Files), gdzie metoda store() nie sprawdza autoryzacji. Każdy uwierzytelniony użytkownik może modyfikować ceny, stany magazynowe, metadane SEO, wymiary wysyłki i załączniki dowolnego produktu.
- CVE-2026-47741Średnie
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.
- CVE-2026-47740Wysokie
Shopper, panel administracyjny e-commerce typu Headless, przed wersją 2.8.0 zawiera podatność polegającą na tym, że wiele akcji Filament w szczegółach zamówienia i tabeli wysyłek może być wywoływanych przez uwierzytelnionego użytkownika o niskich uprawnieniach bez wymaganych uprawnień do modyfikacji zamówień. Akcje takie jak anulowanie, oznaczenie jako zapłacone, ukończone, przechwycenie płatności, archiwizacja i rozpoczęcie przetwarzania były dostępne z uprawnieniami tylko do odczytu read_orders, a nie wymaganymi edit_orders. Funkcja capturePayment mogła faktycznie przechwycić środki w systemie płatności. Użytkownik z dostępem tylko do odczytu mógł zmieniać cykl życia każdego zamówienia i inicjować rzeczywiste przechwycenia płatności.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

