CVE-2026-90900
ŚrednieCVSS 5.3Streszczenie
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.
Ocena ryzyka
Atakujący może wykorzystać zalogowanego użytkownika do publikowania nieautoryzowanych recenzji lub spamu, co może prowadzić do manipulacji treścią i reputacją sklepu. Wpływa to na integralność danych i zaufanie użytkowników.
Rekomendacja
Zaktualizuj rozszerzenie Easy Store do wersji nowszej niż 3.0.0, która zawiera poprawkę podatności. Jeśli aktualizacja nie jest możliwa, rozważ wyłączenie funkcji recenzji lub wdrożenie dodatkowych zabezpieczeń CSRF.
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-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-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 in Storefront Product Review Submission in Easy Store extension 1.0.0-3.0.0 - The product review submission endpoint (index.php?option=com_easystore&task=product.addReview) accepted submissions without verifying an anti-CSRF token (the check had been commented out in code). An attacker could trick a logged-in user into posting unauthorized reviews or submitting review spam via cross-site requests. Resolved by enforcing Session::checkToken('request') / Session::checkToken('post') in ProductController, injecting HTMLHelper::_('form.token') into the review form template, and appending the session token to the submission payload in review-form.js.

