CVE-2026-90903
WysokieCVSS 7.2Streszczenie
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).
Ocena ryzyka
Ryzyko nieautoryzowanych operacji administracyjnych (np. modyfikacja zamówień, kuponów, ustawień) w wyniku ataku CSRF, co może prowadzić do naruszenia integralności danych i przejęcia kontroli nad sklepem.
Rekomendacja
Zaktualizuj rozszerzenie Easy Store do wersji z globalną weryfikacją CSRF lub zastosuj poprawkę ręcznie.
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-90904Wysokie
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.
- 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 - Missing CSRF Token Verification across Administrator AJAX API Endpoints in Easy Store extension 1.0.0-3.0.0 - The administrator ApiController only validated CSRF tokens inside the products() action. All other administrative AJAX endpoints (orders, coupons, media, customers, settings, tags, categories, reviews, and collections) accepted state-changing requests without checking anti-CSRF tokens. An attacker could trick a logged-in administrator into triggering unauthorized state modifications across the store backend. Resolved by implementing global CSRF verification in ApiController::execute() for all state-changing HTTP methods (POST, PUT, PATCH, DELETE) via Session::checkToken().

