Aktualna sytuacja: PHP2Shell. Dwie krytyczne luki w PHP (CVSS 9,2) umożliwiają wykonanie złośliwego kodu bez logowania. Poprawki od 21.10.2026.Co należy teraz zrobić →

Bezpieczeństwo WooCommerce: jak zabezpieczyć sklep z danymi klientów po PHP2Shell

Sklep WooCommerce przechowuje zamówienia, konta klientów i dostępy do dostawców płatności. Po PHP2Shell liczą się załatane PHP, czysta kasa i sprawdzone dostępy API.

Stan 4 min czytaniaPlatformy

Krótko: Bezpieczeństwo WooCommerce zależy po PHP2Shell przede wszystkim od PHP na serwerze, a nie od wtyczki sklepu. Sklep przechowuje dane klientów, zamówienia i dostępy do dostawców płatności, dlatego sama poprawka PHP nie wystarczy. Należy dodatkowo sprawdzić kod kasy, klucze REST API i webhooki.

Co PHP2Shell oznacza dla sklepu WooCommerce

WooCommerce to wtyczka do WordPressa i działa więc na tym samym PHP. Luki CVE-2026-109618 i CVE-2026-109619 umożliwiają według zespołu PHP zdalne wykonanie złośliwego kodu bez logowania. Dla sklepu jest to poważniejsze niż dla strony wizytówkowej, ponieważ stawka jest wyższa:

  • imiona i nazwiska, adresy dostawy i rozliczeniowe, numery telefonów i adresy e-mail
  • historia zamówień i konta klientów z hashami haseł
  • klucze API i sekrety integracji płatności, wysyłki i księgowości, zapisane w bazie danych
  • pliki do pobrania z produktów cyfrowych w folderze wp-content/uploads/woocommerce_uploads/

W przypadku wbudowanych formularzy płatności dostawców dane kart zwykle nie znajdują się w sklepie. Atakujący z dostępem do serwera może jednak zmienić JavaScript kasy tak, aby wpisywane dane były odczytywane przed wysłaniem. Ogólne wskazówki dla sprzedawców znajdą Państwo w artykule Bezpieczeństwo IT dla sklepów internetowych.

Bezpieczeństwo WooCommerce zaczyna się od wersji PHP

W sekcji WooCommerce > Status stan systemu pokazuje w części dotyczącej środowiska serwera wersję PHP, na której sklep faktycznie działa. Naprawione wersje upstream to 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Firmy hostingowe często jednak wprowadzają poprawki jako backport i wtedy wyświetlany numer pozostaje stary. Należy zatem polegać na pisemnym potwierdzeniu firmy hostingowej i na restarcie wszystkich procesów PHP.

To, które wersje PHP obsługuje Państwa wersja WooCommerce, można sprawdzić w wymaganiach systemowych producenta na woocommerce.com. Przejście na nowszą główną wersję PHP powinno nastąpić w środowisku testowym, ponieważ w przeciwnym razie wtyczki płatności mogą przestać działać niezauważenie.

Gdzie atakujący uderzają w sklepy WooCommerce

Oprócz znanych kryjówek WordPressa istnieją miejsca typowe dla sklepów:

  • Nadpisania szablonów w motywie: folder woocommerce/checkout/ w aktywnym motywie. Zmienione tu pliki wpływają bezpośrednio na kasę i potwierdzenie zamówienia.
  • Wtyczki płatności: zmienione pliki w wp-content/plugins/ dostawcy płatności.
  • Klucze REST API: w WooCommerce > Ustawienia > Zaawansowane > REST API. Obcy klucz z prawami odczytu lub zapisu to tylne drzwi bez pliku.
  • Webhooki: w Zaawansowane > Webhooki. Nieznany webhook może wysyłać każde nowe zamówienie na obcy adres.
  • Role: nowe konta z rolą „Menedżer sklepu” lub „Administrator”.
  • Logi: wp-content/uploads/wc-logs/ może zawierać dane osobowe i nie powinien być publicznie dostępny.

Bezpieczne kontrole w wierszu poleceń:

# Wypisanie administratorów i menedżerów sklepu
wp user list --role=administrator
wp user list --role=shop_manager
# Wyświetlenie plików PHP w motywie zmienionych od 17.10.2026
find wp-content/themes -name "*.php" -newermt "2026-10-17"
Ważne

Poprawka PHP nie usuwa obcego klucza REST API ani wprowadzonego webhooka. Oba działają dalej także po aktualizacji. Proszę dlatego aktywnie sprawdzić te listy, a w razie podejrzenia odnowić klucze API u dostawców płatności.

Rozszerzenia i aktualizacje sklepu: co dają, a czego nie

Typowy sklep WooCommerce korzysta z wielu rozszerzeń: metod płatności, etykiet wysyłkowych, wystawiania faktur, integracji z marketplace'ami, wtyczek do opinii i marketingu. Każde z nich to dodatkowy kod z własnymi lukami i często z własnymi dostępami do usług zewnętrznych. Proszę utrzymywać krótką listę i usuwać testowe instalacje starych metod płatności.

Aktualizacja WooCommerce lub WordPressa zamyka znane błędy w tych komponentach. Nie naprawia PHP, nie usuwa obcych plików poza folderem wtyczki i nie kasuje wpisów w bazie danych, takich jak klucze API czy webhooki. Jak rozpoznać, czy coś już się wydarzyło, opisuje artykuł Czy już doszło do kompromitacji?.

Jeśli aktualizacja PHP u firmy hostingowej jeszcze nie nastąpiła, filtr umieszczony przed serwerem może zyskać na czasie. Nie zastępuje on poprawki; więcej na ten temat w artykule WAF i wirtualne łatanie.

Obowiązki w razie incydentu w sklepie

Jeżeli dojdzie do utraty danych osobowych klientów, może być konieczne zgłoszenie do organu nadzorczego ochrony danych w ciągu 72 godzin. To informacja ogólna, a nie porada prawna. Proszę wcześnie włączyć inspektora ochrony danych i zapoznać się z naszym przeglądem obowiązku zgłoszenia naruszenia RODO. Należy również przestrzegać wytycznych dostawców płatności dotyczących incydentów bezpieczeństwa.

Po każdej ingerencji proszę przetestować pełny proces zamówienia ze wszystkimi oferowanymi metodami płatności. Należy zwrócić uwagę na nietypowe kroki pośrednie, dodatkowe pola formularza lub przekierowania na obce domeny. Narzędzia deweloperskie przeglądarki pokazują, które skrypty są ładowane z jakich adresów; nieznane źródła na stronie kasy to sygnał ostrzegawczy. Test należy udokumentować z datą i wynikiem.

Jak konkretnie pomaga PHP SOS?

  • Ustalamy z Państwa firmą hostingową stan poprawek PHP i prosimy o potwierdzenie restartu wszystkich procesów PHP.
  • Zabezpieczamy logi, bazę danych i pliki, zanim cokolwiek zmienimy.
  • Sprawdzamy szablony kasy, wtyczki płatności, klucze REST API, webhooki i role użytkowników.
  • W razie znalezisk oczyszczamy sklep, wspólnie z Państwem odnawiamy dostępy i dokumentujemy przebieg dla ochrony danych i ubezpieczyciela.

Częste pytania

Czy dane kart kredytowych w WooCommerce są zagrożone przez PHP2Shell?

To zależy od sposobu integracji dostawcy płatności. Jeśli dane kart są wpisywane w formularzu dostawcy, zwykle nie znajdują się w sklepie. Atakujący z dostępem do serwera może jednak zmienić kasę tak, aby wpisywane dane były przechwytywane wcześniej.

Gdzie w WooCommerce zobaczę wersję PHP?

W sekcji WooCommerce > Status, w części dotyczącej środowiska serwera. Numer pokazuje wersję, na której działa sklep. Nie wynika z niego, czy wprowadzono backport; musi to potwierdzić firma hostingowa.

Dlaczego powinienem sprawdzić webhooki WooCommerce?

Webhooki wysyłają dane na wpisany adres przy zdarzeniach takich jak nowe zamówienia. Potajemnie utworzony webhook może trwale przekazywać dane zamówień osobom trzecim, także po załataniu PHP.

Czy w razie podejrzenia muszę poinformować dostawców płatności?

W razie uzasadnionego podejrzenia należy odnowić klucze API u dostawcy i przestrzegać jego wytycznych dotyczących incydentów bezpieczeństwa. To, czy istnieją obowiązki zgłoszeniowe, należy ustalić z inspektorem ochrony danych lub prawnikiem.

Źródła

Kontakt natychmiast

Liczy się każda godzina. Proszę napisać do nas teraz.

Proszę krótko opisać system, wersję PHP i obserwacje. Skontaktujemy się z Państwem, ustalimy sytuację i będziemy pracować zdalnie, aż incydent zostanie zamknięty i udokumentowany.

Natychmiastowa pomoc