Podatności J2Store
17 znanych podatności CVE w J2Store, przetłumaczonych i ocenionych.
- 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.
- CVE-2026-78081Wysokie
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.
- CVE-2026-74252Wysokie
Rozszerzenie Joomla J2Store (wersje 1.0.0-3.3.20, 4.0.0-4.0.20, 4.1.0-4.1.5) jest podatne na trwały Cross-Site Scripting (XSS) przez pola adresu rozliczeniowego w kasie gościa. Nieuwierzytelniony atakujący wykorzystuje obejście filtra w Joomla Input::getArray() w połączeniu z PHP variables_order=EGPCS (Cookie nadpisuje POST w $_REQUEST), aby przechowywać nieoczyszczony HTML w polach takich jak billing_first_name.
- CVE-2026-67362Średnie
Rozszerzenie Joomla - j2commerce.com - Otwarte przekierowanie w kontrolerze koszyka w J2Store 1.0.0-3.3.20, 4.0.0-4.0.20, 4.1.0-4.1.5 - Cztery procedury obsługi zadań akceptowały zakodowany w base64 URL z danych wejściowych 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-67361Średnie
Rozszerzenie Joomla - j2commerce.com - Nieuwierzytelnione przesyłanie plików z brakiem ochrony katalogu w J2Store 1.0.0-3.3.20, 4.0.0-4.0.20, 4.1.0-4.1.5 - Punkt końcowy przesyłania plików akceptował żądania POST od nieuwierzytelnionych odwiedzających bez tokena CSRF. Dodatkowo, manifest instalatora pominął katalogi upload i invoices, powodując, że świeże instalacje wdrażają te katalogi bez ochrony .htaccess/web.config, co czyni przesłane pliki bezpośrednio dostępnymi w sieci.
- CVE-2026-67360Średnie
Rozszerzenie Joomla - j2commerce.com - Replikacja zamówień między klientami w J2Store 1.0.0-3.3.20, 4.0.0-4.0.20, 4.1.0-4.1.5 - Uwierzytelniony użytkownik mógł podać order_id innego klienta, aby skopiować zawartość koszyka i dane adresowe do swojej sesji. Token CSRF był walidowany, ale własność nie była sprawdzana.
- CVE-2026-67359Wysokie
Rozszerzenie Joomla J2Store (wersje 1.0.0-3.3.20, 4.0.0-4.0.20, 4.1.0-4.1.5) umożliwia nieuwierzytelnionemu odwiedzającemu podanie dowolnego order_id jako parametru zapytania, aby wyświetlić pełną stronę potwierdzenia zamówienia, w tym pozycje, ceny i sumy.
- CVE-2026-67358Średnie
Rozszerzenie Joomla - j2commerce.com - Manipulacja limitem pobrań w J2Store 1.0.0-3.3.20, 4.0.0-4.0.20, 4.1.0-4.1.5 - Uwierzytelniony użytkownik z prawidłowym tokenem zamówienia mógł zwiększyć licznik limitu pobrań na rekordzie pobrania należącym do innego zamówienia. Punkt końcowy również nie miał tokena CSRF.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

