CVE-2026-78081
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 5 - wyżej niż 5% wszystkich znanych CVE
Streszczenie
Rozszerzenie Joomla J2Store (wersje 1.0.0-3.3.2, 4.0.0-4.0.22, 4.1.0-4.1.7) brakuje ochrony CSRF w kontrolerach koszyka, płatności i profilu. Sfałszowane żądanie wykorzystujące aktywną sesję ofiary może po cichu zmienić adres rozliczeniowy lub dostawy przed potwierdzeniem zamówienia, co może przekierować towary na adres atakującego.
Ocena ryzyka
Ryzyko dla klientów: atakujący może przejąć kontrolę nad adresem dostawy zamówienia, co może prowadzić do kradzieży towarów. Brak dostępu do danych innych kont, ale naruszenie integralności zamówień.
Rekomendacja
Zaktualizuj J2Store do wersji z poprawką CSRF. Dodatkowo rozważ wdrożenie dodatkowych zabezpieczeń, takich jak tokeny CSRF w formularzach.
Inne podatności w J2Store
Zobacz wszystkie- CVE-2026-78065Wysokie
W rozszerzeniu Joomla J2Store (wersje 1.0.0-3.3.21, 4.0.0-4.0.21, 4.1.0-4.1.6) wykryto podatność IDOR w funkcji editAddress(), która umożliwia każdemu uwierzytelnionemu użytkownikowi dostęp do adresów zamówień gości. Funkcja przekierowywała nie-właścicieli tylko wtedy, gdy załadowany wiersz adresu miał niepusty user_id należący do kogoś innego. Wiersze adresów zamówień gości mają pusty user_id, więc ten warunek nigdy nie był spełniony — każdy zalogowany użytkownik, zgadując mały, sekwencyjny address_id, mógł zobaczyć pełne imię, adres ulicy i numer telefonu klienta-gościa w formularzu edycji.
- CVE-2026-78064Wysokie
W rozszerzeniu Joomla J2Store (wersje 1.0.0-3.3.21, 4.0.0-4.0.21, 4.1.0-4.1.6) wykryto podatność umożliwiającą anonimowe manipulowanie rekordami koszyka poprzez odziedziczone zadanie `save` z FOF. Plik `fof.xml` przyznaje zadaniom widoku `carts` dziką kartę ACL `true`, a FOF egzekwuje tokeny CSRF tylko na żądaniach HTML backendu, nie na żądaniach frontendu `format=raw`. `J2StoreControllerCarts` ograniczył `remove()` do własnej sesji wywołującego, ale nie nadpisał ogólnego zadania `save` FOF, więc pozostało ono dostępne do wstawiania nowych wierszy koszyka z wybranym przez atakującego `user_id`/`session_id` lub nadpisywania istniejącego wiersza po id.
- CVE-2026-78000Średnie
Rozszerzenie Joomla - j2commerce.com - zawiera odzwierciedlony XSS poprzez parametry `filter_tag`, `pricefrom` i `priceto` w J2Store 1.0.0-3.3.21, 4.0.0-4.0.21, 4.1.0-4.1.6. Cztery procedury obsługi zadań akceptowały zakodowany w base64 adres URL od użytkownika i przekierowywały do niego bez weryfikacji hosta docelowego, umożliwiając phishing przy użyciu zaufanej domeny sklepu. Nie wymaga uwierzytelnienia.
- CVE-2026-77999Wysokie
W rozszerzeniu Joomla J2Store (wersje 1.0.0-3.3.21, 4.0.0-4.0.21, 4.1.0-4.1.6) wykryto podatność umożliwiającą nieuwierzytelnione fałszowanie wywołania zwrotnego PayPal, prowadzące do oszustwa związanego z potwierdzeniem zamówienia. Listener PayPal IPN akceptował odpowiedzi `UNVERIFIED` i każdą nie-`INVALID` jako ważne, wyłączał weryfikację SSL (CURLOPT_SSL_VERIFYPEER) i przechowywał werdykt w polu, którego nic później nie sprawdzało — więc przetwarzanie kontynuowało się niezależnie od wyniku. Dodatkowo porównanie zapłaconej kwoty działało tylko, gdy `mc_gross` było liczbą dodatnią; pominięcie pola w treści POST (`floatval(null) == 0`) pomijało sprawdzenie. W połączeniu z `receiver_email` skonfigurowanym przez sprzedawcę i sekwencyjnym, możliwym do odgadnięcia identyfikatorem zamówienia odczytanym z pola `custom`, anonimowy POST wystarczył, aby przenieść oczekujące zamówienie bezpośrednio do statusu `CONFIRMED` bez płatności lub wymusić na innym kliencie zmianę statusu oczekującego zamówienia na `FAILED`. `paypalv2.php` nie przeprowadzał żadnej kontroli kwoty w żadnych okolicznościach.
- CVE-2026-78069Krytyczne
Rozszerzenie Joomla - j2commerce.com - Brak autoryzacji w łańcuchu delegacji kontrolera Apps w J2Store 1.0.0-3.3.21, 4.0.0-4.0.21, 4.1.0-4.1.6 - Ścieżka delegacji appTask w J2StoreControllerApps tworzy kontrolery wtyczek bez żadnej kontroli ACL. Ponadto applocalizationdata::getInstallerTool() używa nazwy tabeli zależnej od wywołującego bez listy dozwolonych, co umożliwia odczyt/wykonanie plików z możliwością path traversal.
- CVE-2026-82191Średnie
Rozszerzenie Joomla J2Store w wersjach 1.0.0-3.3.2, 4.0.0-4.0.22, 4.1.0-4.1.7 odzwierciedla nieescapowane dane żądania w przekierowaniu PayPal notify. Spreparowany link do endpointu paypal notify, jeśli zostanie otwarty przez przeglądarkę ofiary, powoduje, że przekierowanie do kontrolera checkout com_j2store przenosi parametry wybrane przez atakującego.
- CVE-2026-82190Średnie
Rozszerzenie Joomla J2Store w wersjach 1.0.0-3.3.2, 4.0.0-4.0.22, 4.1.0-4.1.7 używa przewidywalnego/możliwego do podrobienia tokenu dostępu do zamówienia. Każdy, kto zna sekret Joomla, może obliczyć ważny token dostępu dla dowolnego zamówienia bez jego składania, uzyskując dostęp gościa do szczegółów zamówienia i cyfrowych pobrań.
- CVE-2026-82189Wysokie
W rozszerzeniu Joomla J2Store każdy może oznaczyć dowolne zamówienie jako nieudane (Failed) bez uwierzytelnienia. Atakujący może masowo oznaczać oczekujące zamówienia jako nieudane, zakłócając przychody i wymuszając ręczne przetwarzanie, lub przywracać zrealizowane zamówienia do stanu FAILED, powodując zamieszanie operacyjne. W przeciwieństwie do wcześniejszego problemu z oszustwem potwierdzeń, nie jest wymagana żadna poprawna kwota płatności ani dane transakcji.
- CVE-2026-81568Wysokie
W rozszerzeniu Joomla J2Store metoda J2StoreModelOrderdownloads::getFilePath() budowała ścieżkę do zakupionego pliku cyfrowego, łącząc skonfigurowany folder załączników z zapisaną nazwą pliku produktu (product_file_save_name), używając jedynie JPath::clean() (które normalizuje separatory, ale nie rozwiązuje ani nie odrzuca segmentów ..) i zwykłego sprawdzenia JFile::exists(). Jeśli nazwa pliku zawierała segment przejścia ../, klient posiadający ważny token/pid mógł pobrać dowolny plik czytelny dla serwera WWW (np. configuration.php).
- CVE-2026-81567Wysokie
Rozszerzenie Joomla J2Store (wersje 1.0.0-3.3.2, 4.0.0-4.0.22, 4.1.0-4.1.7) zawiera nieuwierzytelnioną podatność na ślepą iniekcję SQL w liście produktów sklepu. Atakujący może zdalnie wyodrębnić dowolne dane z bazy, takie jak rekordy klientów, zamówienia czy przechowywane tokeny, wykorzystując wnioskowanie boolean lub czasowe.
Oryginalny opis (angielski, źródło NVD)
Joomla Extension - j2commerce.com - Missing CSRF protection on cart, checkout and myprofile controllers in J2Store 1.0.0-3.3.2, 4.0.0-4.0.22, 4.1.0-4.1.7 - A forged request riding a victim's active checkout session could silently overwrite the billing or shipping address before order confirmation — the most consequential sub-case, since it opens the door to redirecting a paid order's goods to an attacker-controlled address — or tamper with a saved profile address via `saveAddress()`. As before, each forged request executes with only the victim's own session privileges, so there is no cross-account data access.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

