CVE-2026-90901
WysokieCVSS 8.6Streszczenie
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.
Ocena ryzyka
Ryzyko wycieku danych osobowych klientów (PII) bez uwierzytelnienia, co może prowadzić do naruszenia prywatności i konsekwencji prawnych (RODO).
Rekomendacja
Zaktualizuj rozszerzenie Easy Store do wersji, w której usunięto endpoint wyszukiwania gości, 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-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-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 - Authenticated, Privileged SQL Injection in Media Image Deletion in Easy Store extension 1.0.0-3.0.0 - The checkout.searchGuestUser endpoint allowed querying guest checkout records solely by supplying an email address. The server returned complete shipping details (full name, phone number, street address, city, postal code, and country) directly from the #__easystore_guests table with no authentication, session validation, or ownership checks. An unauthenticated attacker could iterate through email lists to enumerate guest customers and harvest sensitive Personally Identifiable Information (PII). Resolved by removing the unauthenticated server-side guest lookup endpoint entirely and migrating autofill functionality to client-side localStorage protected by explicit user consent.

