Przejdź do głównej treści
Krytyczne luki w J2Store. Można fałszować płatności i uszkodzić sklep

Krytyczne luki w J2Store. Można fałszować płatności i uszkodzić sklep


Pięć nowych luk w J2Store pozwala między innymi potwierdzić nieopłacone zamówienie, zmieniać cudze koszyki i odczytać dane adresowe klientów. Najgroźniejszy błąd umożliwia użytkownikowi mającemu dowolny dostęp do zaplecza Joomla opróżnianie tabel sklepu i uruchamianie plików SQL przez Path Traversal. Producent ocenił go na 9,4 w CVSS 4.0.

Poprawki wydano 31 sierpnia 2026 roku w trzech równoległych gałęziach: J2Store 3.3.22, 4.0.22 i 4.1.7. Trzeba zainstalować wersję właściwą dla używanej linii. J2Commerce 6 ma osobny, przepisany kod i nie jest objęty tym komunikatem.

Joomla Guru może wykonać kopię, aktualizację J2Store i test procesu zakupowego. Jeżeli sklep pracował na starszej wersji, możemy sprawdzić zamówienia, pliki, konta zaplecza i bazę danych oraz przeprowadzić usuwanie skutków włamania.

Pięć podatności w J2Store

CVE CVSS 4.0 Skutek Wymagany dostęp
CVE-2026-78069 9,4 Critical opróżnianie tabel J2Store i wykonanie pliku SQL przez Path Traversal dowolne konto zaplecza Joomla
CVE-2026-78064 8,8 High dodanie lub nadpisanie rekordu koszyka innego użytkownika albo sesji bez logowania
CVE-2026-77999 8,7 High potwierdzenie nieopłaconego zamówienia lub odrzucenie prawidłowej płatności PayPal bez logowania
CVE-2026-78065 7,1 High odczyt nazwiska, adresu i telefonu klienta korzystającego z zakupów bez rejestracji zwykłe konto klienta
CVE-2026-78000 5,3 Medium reflected XSS w filtrach tagów produktów i ceny bez logowania, potrzebne otwarcie spreparowanego linku

Numery zostały zarezerwowane przez Joomla CNA, ale 2 września rekordy nie były jeszcze publiczne w bazie CVE. Podane oceny i zakresy pochodzą z oficjalnego komunikatu J2Commerce. Mogą zostać skorygowane po publikacji rekordów.

Nieopłacone zamówienie mogło zostać potwierdzone

Listener PayPal IPN niewłaściwie sprawdzał odpowiedź serwera płatności. Traktował odpowiedź UNVERIFIED i inne wartości różne od INVALID jako poprawne, wyłączał weryfikację certyfikatu SSL, a wyniku kontroli nie używał później przy przetwarzaniu zamówienia. Pominięcie pola mc_gross pozwalało dodatkowo ominąć porównanie zapłaconej kwoty.

Anonimowe żądanie mogło więc oznaczyć nieopłacone zamówienie jako potwierdzone albo zmienić prawidłowe zamówienie na nieudane. Sklepy korzystające z PayPal powinny porównać statusy CONFIRMED i FAILED z rzeczywistymi transakcjami w panelu operatora płatności.

Dowolne konto zaplecza mogło zagrozić całemu sklepowi

Kontroler Apps przekazywał zadania do kontrolerów wtyczek bez sprawdzenia uprawnień do com_j2store. W konfiguracji FOF brakowało odpowiednich reguł ACL, a zadanie niepasujące do reguły było domyślnie dozwolone.

Atakujący musiał zalogować się do panelu administratora Joomla, ale nie potrzebował żadnych praw do J2Store. Wystarczało konto utworzone do obsługi innego komponentu. Taki użytkownik mógł uruchomić operacje prowadzące do opróżnienia tabel #__j2store_* oraz wykonania pliku SQL wskazanego z użyciem Path Traversal.

Którą wersję trzeba zainstalować?

Gałąź Wersje podatne Wersja naprawcza
Joomla 3, J2Store 3.3.x 3.3.21 i starsze 3.3.22
J2Store 4.0.x 4.0.21 i starsze 4.0.22
J2Store 4.1.x 4.1.6 i starsze 4.1.7
J2Commerce 6 nie dotyczy brak działania z powodu tego komunikatu

Wydania 3.3.21, 4.0.21 i 4.1.6 były aktualizacjami bezpieczeństwa opublikowanymi zaledwie dziesięć dni wcześniej, ale nadal zawierają pięć opisanych tutaj luk. Sam fakt wykonania sierpniowej aktualizacji nie oznacza więc, że sklep jest już zabezpieczony.

Pobierz właściwy pakiet J2Store

Pobierz J2Store 3.3.22, 4.0.22 lub 4.1.7 →

Komunikat bezpieczeństwa J2Commerce →

Nie przechodź z linii 4.0 bezpośrednio na 4.1 tylko dlatego, że jej numer jest wyższy. Zmiana gałęzi może wymagać osobnego testu zgodności. Pobierz pakiet przypisany do obecnej linii i zainstaluj go na dotychczasowej wersji bez odinstalowywania komponentu.

Powiadomienie o aktualizacji w Joomla może pojawić się z opóźnieniem albo nie zadziałać z powodu pamięci witryn aktualizacji, błędnego Download ID, limitu serwera lub zapory producenta. Sprawdź wersję ręcznie i w razie potrzeby pobierz pakiet ze strony J2Commerce.

Co sprawdzić po aktualizacji?

  1. Porównaj zamówienia oznaczone jako CONFIRMED i FAILED z historią transakcji PayPal.
  2. Sprawdź konta mające dostęp do zaplecza Joomla, nawet jeśli nie posiadają uprawnień J2Store.
  3. Przejrzyj rekordy koszyków i nietypowe zmiany w tabelach sklepu.
  4. Załóż, że dane adresowe zakupów bez rejestracji mogły zostać odczytane, jeśli zwykłe konta klientów były dostępne publicznie.
  5. Sprawdź pliki w media/j2store/uploads/ oraz media/com_j2store/uploads/.

Kontrola plików jest szczególnie ważna dla wersji starszych niż 3.3.21, 4.0.21 i 4.1.6. Poprzedni komunikat producenta dotyczył uploadu bez logowania, który został wykorzystany przed publikacją poprawki. Aktualizacja zamyka podatność, ale nie usuwa plików pozostawionych wcześniej przez atakującego.

Co zrobić, gdy aktualizacja jest chwilowo niemożliwa?

Wyłącz PayPal i zakupy bez rejestracji, ogranicz dostęp do widoku Product Tags, a wszystkie niekonieczne konta zaplecza zawieś. WAF może tymczasowo blokować anonimowe żądania zapisu koszyka. Są to obejścia częściowe. Nie zastępują instalacji poprawionego pakietu.

Pomoc w zabezpieczeniu sklepu Joomla

W ramach opieki serwisowej Joomla wykonamy kopię, dobierzemy pakiet do właściwej gałęzi i przetestujemy koszyk, płatności oraz zamówienia. Jeżeli sklep działał na starszym wydaniu, przeanalizujemy pliki, konta i bazę. W przypadku potwierdzenia incydentu wykonamy czyszczenie zainfekowanej strony Joomla.

Źródła

 

FAQ


Czy Joomla Guru może pomóc w aktualizacji J2Store?

Tak. Możemy wykonać kopię, dobrać właściwy pakiet, przetestować sklep i sprawdzić, czy podatności zostały wcześniej wykorzystane.

Czy można było potwierdzić zamówienie bez płatności?

Tak. Błąd callbacku PayPal pozwalał anonimowo potwierdzić nieopłacone zamówienie albo odrzucić prawidłową płatność.

Czy numery CVE są już publiczne?

Na 2 września 2026 roku pięć numerów było zarezerwowanych przez Joomla CNA, ale rekordy nie były jeszcze opublikowane. Oceny pochodzą z komunikatu J2Commerce.

Czy J2Commerce 6 jest podatny?

Nie według komunikatu producenta. J2Commerce 6 ma osobny, przepisany kod i nie jest objęty tym zestawem pięciu luk.

Czy atak wymaga logowania?

Trzy luki są dostępne bez logowania. Odczyt adresu wymaga zwykłego konta klienta, a najgroźniejszy błąd dowolnego konta zaplecza Joomla.

Do jakiej wersji zaktualizować J2Store?

Zainstaluj 3.3.22 dla gałęzi Joomla 3, 4.0.22 dla linii 4.0.x albo 4.1.7 dla linii 4.1.x.

Czy sama aktualizacja wystarczy?

Nie zawsze. Trzeba porównać zamówienia z PayPal, sprawdzić konta zaplecza, bazę oraz pliki, szczególnie na wersjach sprzed poprzedniej poprawki uploadu.

Aktualizacja: 02.09.2026 | 19:11
Zapisz się do newslettera