CVE-2026-90904
WysokieCVSS 8.6Streszczenie
Rozszerzenie Easy Store dla Joomla (wersje 1.0.0-3.0.0) ma podatność na złamanie kontroli dostępu (ACL Bypass) w metodzie allowEdit() w ApiController.php. Metoda ta zawsze zwraca true, przez co pomija sprawdzanie uprawnień na poziomie komponentu i zasobów. Każdy zalogowany użytkownik backendu może edytować dowolny rekord EasyStore, niezależnie od przyznanych uprawnień ACL. Problem rozwiązano przez zastąpienie twardo zakodowanej wartości true właściwą autoryzacją ACL.
Ocena ryzyka
Ryzyko nieautoryzowanej modyfikacji danych w sklepie przez każdego zalogowanego użytkownika, co może prowadzić do naruszenia integralności danych i eskalacji uprawnień.
Rekomendacja
Zaktualizuj rozszerzenie Easy Store do wersji, w której poprawiono kontrolę ACL, lub zastosuj obejście polegające na ręcznym wdrożeniu poprawek z oficjalnego źródła.
Inne podatności w Easy Store
Zobacz wszystkie- CVE-2026-90905Wysokie
Rozszerzenie Easy Store dla Joomla (wersje 1.0.0-3.0.0) ma brak mechanizmu CSRF i kontroli dostępu przy aktualizacji konfiguracji witryny, co pozwala na zmianę ustawień poczty Joomla bez weryfikacji tokena i uprawnień administratora.
- CVE-2026-90903Wysokie
Rozszerzenie Easy Store dla Joomla (wersje 1.0.0-3.0.0) nie weryfikuje tokenów CSRF w większości endpointów AJAX administratora. Tokeny są sprawdzane tylko w akcji products(), a pozostałe endpointy (zamówienia, kupony, media, klienci, ustawienia, tagi, kategorie, recenzje, kolekcje) akceptują żądania zmieniające stan bez tokenu. Atakujący może nakłonić zalogowanego administratora do wywołania nieautoryzowanych zmian w backendzie sklepu. Problem rozwiązano przez globalną weryfikację CSRF w ApiController::execute() dla metod zmieniających stan (POST, PUT, PATCH, DELETE).
- CVE-2026-90902Wysokie
Rozszerzenie Easy Store dla Joomla (wersje 1.0.0-3.0.0) zawiera podatność na SQL Injection w zadaniu masowej aktualizacji kuponów (couponBulkUpdate). Wprowadzone identyfikatory są bezpośrednio konkatenowane do surowych zapytań SQL w klauzulach IN (...) bez sanityzacji i parametryzacji. Zalogowany administrator może manipulować zapytaniem przez wstrzyknięty kod SQL. Problem rozwiązano przez rzutowanie wszystkich ID na liczby całkowite (array_map('intval', ...)) i zastosowanie parametryzowanych zapytań ->whereIn().
- CVE-2026-90901Wysokie
Rozszerzenie Easy Store dla Joomla (wersje 1.0.0-3.0.0) ma podatność na SQL Injection w usuwaniu obrazów mediów. Endpoint checkout.searchGuestUser pozwala na zapytanie o rekordy gości tylko przez podanie adresu e-mail. Serwer zwraca pełne dane wysyłki (imię i nazwisko, telefon, adres, miasto, kod pocztowy, kraj) z tabeli #__easystore_guests bez uwierzytelnienia, weryfikacji sesji ani sprawdzenia własności. Nieuwierzytelniony atakujący może iterować listy e-maili, aby enumerować klientów-gości i zbierać wrażliwe dane osobowe (PII). Problem rozwiązano przez usunięcie endpointu wyszukiwania gości po stronie serwera i przeniesienie funkcji autouzupełniania do localStorage po stronie klienta z wyraźną zgodą użytkownika.
- CVE-2026-90900Średnie
Rozszerzenie Joomla Easy Store (joomshaper.com) w wersjach 1.0.0-3.0.0 zawiera podatność typu Missing CSRF Token Verification w punkcie końcowym przesyłania recenzji produktu (index.php?option=com_easystore&task=product.addReview). Endpoint akceptował zgłoszenia bez weryfikacji tokena anty-CSRF (sprawdzenie zostało zakomentowane w kodzie). Atakujący mógł nakłonić zalogowanego użytkownika do opublikowania nieautoryzowanych recenzji lub przesłania spamu recenzji poprzez żądania cross-site. Problem został rozwiązany poprzez wymuszenie Session::checkToken('request') / Session::checkToken('post') w ProductController, wstrzyknięcie HTMLHelper::_('form.token') do szablonu formularza recenzji oraz dołączenie tokena sesji do ładunku przesyłania w review-form.js.
- CVE-2026-90899Wysokie
Rozszerzenie Easy Store dla Joomla (wersje 1.0.0-3.0.0) ma podatność na nieuwierzytelnione ujawnienie danych osobowych (PII) przez IDOR w procesie płatności gościa. Endpoint checkout.searchGuestUser pozwala na zapytanie o rekordy gości tylko przez podanie adresu e-mail. Serwer zwraca pełne dane wysyłki (imię i nazwisko, telefon, adres, miasto, kod pocztowy, kraj) z tabeli #__easystore_guests bez uwierzytelnienia, weryfikacji sesji ani sprawdzenia własności. Nieuwierzytelniony atakujący może iterować listy e-maili, aby enumerować klientów-gości i zbierać wrażliwe dane osobowe (PII). Problem rozwiązano przez usunięcie endpointu wyszukiwania gości po stronie serwera i przeniesienie funkcji autouzupełniania do localStorage po stronie klienta z wyraźną zgodą użytkownika.
- CVE-2026-65761Krytyczne
Rozszerzenie Easy Store dla Joomla w wersjach 1.0.0-2.0.1 zawiera nieuwierzytelnioną iniekcję SQL poprzez nieprawidłową walidację parametrów zamówienia, umożliwiającą pełny odczyt bazy danych, w tym poświadczeń i sesji.
- CVE-2026-65759Wysokie
Rozszerzenie Easy Store (wersje 1.0.0-2.0.1) dla Joomla! umożliwia nieuwierzytelnionym atakującym fałszowanie płatności i zamówień poprzez przetwarzanie danych po stronie klienta. Atakujący może manipulować stanem płatności i zamówień.
Oryginalny opis (angielski, źródło NVD)
Joomla Extension - joomshaper.com - Broken Access Control (ACL Bypass) in ApiController Record Editing in Easy Store extension 1.0.0-3.0.0 - The allowEdit() method in ApiController.php hardcoded return true;, bypassing Joomla component-level and asset-level ACL permission checks. Any authenticated backend user could edit any EasyStore record, regardless of specific ACL permission grants. Resolved by replacing the hardcoded boolean with proper ACL authorization checks via AccessControl::create()->canEdit()`.

