CVE-2026-48010
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
W Shopware przed wersjami 6.6.10.18 i 6.7.10.1, metoda upsertUser() w UserController zapisuje surowe dane użytkownika w SYSTEM_SCOPE bez filtrowania pola admin. Umożliwia to nieadministratorowi z uprawnieniami ACL user:create lub user:update ustawienie flagi admin: true dla nowych lub istniejących użytkowników.
Ocena ryzyka
Ryzyko polega na eskalacji uprawnień – atakujący może utworzyć lub zmodyfikować konto z pełnymi prawami administratora, co prowadzi do przejęcia kontroli nad platformą e-commerce i potencjalnego wycieku danych klientów.
Rekomendacja
Należy niezwłocznie zaktualizować Shopware do wersji 6.6.10.18 lub 6.7.10.1, które zawierają poprawkę usuwającą brak walidacji pola admin w UserController.
Inne podatności w Shopware
Zobacz wszystkie- CVE-2026-23498Wysokie
Shopware to otwarta platforma handlowa. Od wersji 6.7.0.0 do 6.7.6.1 wystąpiła regresja poprawki CVE-2023-2017, która powoduje, że tablica i starannie spreparowana domknięcie PHP nie są sprawdzane pod kątem listy dozwolonych dla nadpisania map(...). Luka została naprawiona w wersji 6.7.6.1.
- CVE-2016-3109Krytyczne
Skrypt backend/Login/load/ w Shopware przed wersją 5.1.5 umożliwia zdalnym atakującym wykonanie dowolnego kodu.
- CVE-2026-48013Średnie
Shopware przed wersjami 6.6.10.18 i 6.7.10.1 zawiera podatność SSRF w endpointcie `/api/_action/media/external-link`. Uwierzytelniony administrator może wysyłać żądania HEAD do dowolnych wewnętrznych adresów IP, ponieważ walidacja URL w przepływie `linkURL` ogranicza się tylko do sprawdzenia formatu (regex dla prefiksu http/https), podczas gdy przepływ `uploadFromURL` poprawnie blokuje adresy prywatne.
- CVE-2026-48012Średnie
W Shopware w wersjach 6.7.3.0 do 6.7.10.0 wykryto podatność na otwarte przekierowanie w punkcie końcowym SSO `/api/oauth/sso/auth`. Gdy brakuje oczekiwanego stanu sesji SSO, aplikacja używa nagłówka `Referer` jako celu przekierowania bez walidacji, co pozwala atakującemu na kontrolowanie docelowego adresu URL, w tym schematów takich jak `javascript:`.
- CVE-2026-48016Średnie
W Shopware przed wersjami 6.6.10.18 i 6.7.10.1 endpoint API Store /store-api/handle-payment nie weryfikuje własności zamówienia ani autoryzacji gościa, co pozwala zwykłemu klientowi lub gościowi na wywołanie płatności dla zamówienia innego użytkownika.
- CVE-2026-48015Średnie
W Shopware przed wersjami 6.6.10.18 i 6.7.10.1 pliki SVG są dozwolone na liście rozszerzeń i mogą być przesyłane przez menedżera multimediów bez sanityzacji treści SVG. Pozwala to na wykonanie złośliwego kodu JavaScript (np. onload, <script>, <foreignObject>) w domenie Shopware podczas wyświetlania przesłanego pliku SVG.
- CVE-2026-48014Średnie
W Shopware przed wersjami 6.6.10.18 i 6.7.10.1 brakuje deklaracji ACL w endpointach zmiany stanu zamówienia, co pozwala niskouprzywilejowanym użytkownikom na modyfikację stanów zamówień, transakcji i dostaw bez odpowiednich uprawnień.
- CVE-2026-48009Średnie
W Shopware przed wersjami 6.6.10.18 i 6.7.10.1, użytkownik administracyjny z niskimi uprawnieniami posiadający ACL user_recovery:read może przejąć dowolne konto administratora. Podatność wynika z braku oznaczenia pola hash w encji UserRecovery jako ApiAware(false) lub ReadProtection, co umożliwia odczytanie hasha resetowania hasła przez API.
- CVE-2026-48008Średnie
W Shopware przed wersjami 6.6.10.18 i 6.7.10.1, niebędący administratorem użytkownik API z uprawnieniem ACL integration:create może eskalować swoje uprawnienia do pełnego administratora. Dzieje się tak poprzez utworzenie integracji z polem admin: true za pomocą endpointu Sync API POST /api/_action/sync, który nie sprawdza tego pola, w przeciwieństwie do standardowego endpointu integracji.
- CVE-2026-48011Niskie
Shopware przed wersjami 6.6.10.18 i 6.7.10.1 pozwala atakującemu na enumerację nazw użytkowników administratorów poprzez atak timingowy.
Oryginalny opis (angielski, źródło NVD)
Shopware is an open commerce platform. Prior to 6.6.10.18 and 6.7.10.1, UserController::upsertUser() in src/Core/Framework/Api/Controller/UserController.php writes raw user data in SYSTEM_SCOPE without filtering the admin field, so a non-admin API user with user:create or user:update ACL permission can set admin: true on new or existing users; IntegrationController::upsertIntegration() contains an isAdmin() check for the same field, but UserController was missing this check. This issue is fixed in versions 6.6.10.18 and 6.7.10.1.

