Luka w jądrze Linuksa (kernel): czy dotyczy Twojego PrestaShop?
Sama ta luka nie wpuści nikogo z internetu, ale kto jest już w środku, może przejąć serwer. Co zrobić dziś, jeśli masz…
20 października pojawiło się ostrzeżenie, które postawiło w stan gotowości pół internetu: dwie poważne luki w PHP, języku, na którym działa Twój sklep PrestaShop, pozwalające obcej osobie przejąć kontrolę nad serwerem bez loginu i hasła. Nazwano je PHP2Shell. PHP opublikowało poprawkę bezpieczeństwa 21 października, a to, co musisz zrobić, zależy od jednej rzeczy: wersji PHP, na której działa Twój sklep.
Wyjaśniamy bez technicznego żargonu: co się stało, jak sprawdzić, czy cię to dotyczy, co zrobić dziś i jak się dowiedzieć, czy Twój hosting już zainstalował poprawkę.
Nie masz czasu czytać wszystkiego? Za 199 zł sprawdzimy Twój sklep jeszcze dziś: czy jest narażony na PHP2Shell i co trzeba zrobić. To godzina wsparcia w stałej cenie; jeśli potrzeba więcej, powiemy ci o tym, zanim zaczniemy dalej. Odpowiadamy w mniej niż 12 godzin, także w weekend.
PHP to silnik, który pracuje pod PrestaShop, WordPressem, Magento i większością sklepów i stron na świecie. Obie luki, zarejestrowane jako CVE-2026-109618 i CVE-2026-109619, mają ocenę wagi 9,2 na 10. W praktyce ten, kto umie je wykorzystać, może uruchomić na Twoim serwerze, co tylko zechce: zostawić tylne drzwi, ukraść dane Twoich klientów albo wstawić do sklepu fałszywą captchę, jak w przypadku ClickFix.
Od innych ostrzeżeń różni się tym, że atak nie przechodzi przez PrestaShop ani przez żaden moduł. Dzieje się w PHP, zanim Twój sklep w ogóle odczyta wizytę. Nieważne, jak dobrze jest zadbany: jeśli PHP na serwerze ma lukę, sklep też.
Do tego informacje wyciekły przed czasem. Firma zajmująca się bezpieczeństwem Sansec podaje, że razem z ostrzeżeniem pojawił się zrzut ekranu gotowego narzędzia do ataku, i spodziewał się masowych ataków, gdy tylko poprawka zostanie opublikowana. Według tego samego źródła Cloudflare widział już wtedy pierwsze próby i wprowadził reguły, które mają je blokować.
Najpewniej tak. W swoim komunikacie bezpieczeństwa PHP uznaje za zagrożoną każdą instalację, która serwuje strony internetowe, niezależnie od tego, jak serwer ją uruchamia, a najwyższe ryzyko wskazuje na serwerach Apache z mod_php, gdzie jest już zademonstrowany atak działający bez loginu i hasła. Sansec mówi o każdym serwerze z PHP 5.4 lub nowszym, czyli w praktyce o każdym działającym dziś sklepie PrestaShop.
Pytanie, które naprawdę ma znaczenie, jest inne: czy dostaniesz poprawkę? PHP naprawił błąd w wersjach 8.2.35, 8.3.36, 8.4.27 i 8.5.12. Dla starych wersji, które nie mają już oficjalnego wsparcia, PHP opublikował łatkę bez nowego wydania, a w ciągu jednego–dwóch dni panele i systemy używane przez hostingi zamieniły ją w zwykłą aktualizację: cPanel i CloudLinux od PHP 5.2 do 8.1; DirectAdmin, Ubuntu, Red Hat, AlmaLinux i repozytorium Remi w wersjach od 7.4 do 8.1, które nadal utrzymują. A każda wersja PrestaShop działa tylko z określonymi wersjami PHP:
Innymi słowy: prawie każdy sklep może dziś działać na PHP bez tej luki. Ale jeśli to nie PrestaShop 9, zależy to od tego, czy hosting zainstalował łatkę, a ponieważ numer wersji się nie zmienia, nie widać tego na pierwszy rzut oka: trzeba go zapytać. To też łatka awaryjna: PHP 8.1 i starsze nie mają oficjalnego wsparcia, więc przy następnej luce znów będziesz zależeć od kogoś, kto naprawi ją na własną rękę.
Wejdź do panelu sklepu i otwórz Zaawansowane → Informacja. Zobaczysz tam wersję PrestaShop, a nieco niżej wersję PHP. Z tymi dwiema liczbami wiesz już, w jakiej jesteś sytuacji.
Tym razem włączenie przerwy technicznej w panelu Cię nie ochroni: PHP odczytuje wizytę, zanim PrestaShop zdecyduje się pokazać stronę przerwy technicznej.
Wolisz, żeby ktoś się tym zajął? W ramach opieki technicznej PrestaShop robimy to za Ciebie: aktualizujemy PHP, PrestaShop i moduły po ich przetestowaniu, robimy kopie zapasowe i pilnujemy Twojego sklepu, żeby następne ostrzeżenie nie było już Twoim zmartwieniem.
PHP proponuje kilka ustawień serwera, które zamykają część dróg ataku, i zaznacza, że nie czynią one sklepu bezpiecznym: robi to tylko aktualizacja. Sansec dodaje jeszcze jedno rozwiązanie awaryjne: zablokować na serwerze rodzaj przesyłania, którym wędrują pliki wgrywane na stronę. Ma ono swoją cenę: dopóki jest włączone, nikt nie może wgrywać plików do Twojego sklepu. Ani Ty zdjęć nowego produktu, ani Twoi klienci załącznika w formularzu kontaktowym. Sklep dalej normalnie sprzedaje.
To daje kilka dni, nie więcej: albo hosting zainstaluje łatkę, albo przenosisz się do takiego, który ją ma. A przy następnej luce w PHP —a będą— Twój sklep znów będzie od tego zależał, bo PHP 8.1 i starsze nie mają już oficjalnego wsparcia.
Jakie PHP obsługuje każda wersja PrestaShop i do kiedy dostaje poprawki, zebraliśmy w jednej tabeli w artykule jaka wersja PHP dla PrestaShop.
To pytanie, które zawsze się odkłada, bo sklep działa. PHP2Shell pokazuje, co się dzieje, gdy odkłada się je za długo: dnia, w którym przychodzi problem, nie wybierasz ty, a to, czy poprawka do ciebie dotrze, zależy od innych.
Przejście na PrestaShop 9 daje Ci PHP, które dostaje poprawki przez lata. Robi się to bez zamykania sklepu, zachowujesz produkty, klientów, zamówienia i pozycje w Google, a mały sklep kosztuje od 690 €. Wszystko opisujemy w tekście aktualizacja PrestaShop 1.7 lub 1.6 do 9 i na naszej stronie o migracji z PrestaShop 1.6 i 1.7 na 9.
A jeśli wolisz nie śledzić takich ostrzeżeń, do tego służy opieka techniczna nad PrestaShop: nadzorujemy Twój sklep, aktualizujemy jego moduły, a jeśli działa na serwerze BK Modules, także PHP, żeby takie ostrzeżenie Cię nie zaskoczyło.
Jeśli nie wiesz, w jakiej jesteś sytuacji, jeśli hosting Ci nie odpowiada albo jeśli Twój sklep to 1.6, 1.7 lub 8 i chcesz z tego wyjść, podaj nam swoją wersję PrestaShop i PHP. Powiemy Ci, co zrobić dziś, a jeśli trzeba, podamy zamkniętą cenę przejścia na PrestaShop 9.
Wersje z poprawką: 8.2.35, 8.3.36, 8.4.27 i 8.5.12. Dla 7.4, 8.0 i 8.1 PHP publikuje minimalną poprawkę w kodzie źródłowym, podlinkowaną w komunikacie, bez nowego wydania. Załatane pakiety zachowują numer wersji, więc php -v ich nie odróżnia: trzeba sprawdzić rewizję pakietu (rpm -q, dpkg -l). Rewizje z poprawką: cPanel EasyApache 4 ea-php74 7.4.33-19, ea-php80 8.0.30-12, ea-php81 8.1.34-5; CloudLinux ea-php / alt-php 5.2–8.5 (21–22/10); Remi 7.4.33-31, 8.0.30-21, 8.1.34-6; Ubuntu 22.04 8.1.2-1ubuntu2.28. Częściowe środki podane przez PHP ustawia się w php.ini, w puli PHP-FPM (php_admin_value) lub w konfiguracji serwera, nigdy przez ini_set() ani .user.ini, z restartem wszystkich procesów:
; CVE-2026-109618
memory_limit = -1
post_max_size = 32M ; 8M, jeśli nie wgrywa się plików
; CVE-2026-109619
session.upload_progress.enabled = 0
; tylko w PHP 8.5
fatal_error_backtraces = 0
PHP prosi, żeby nie zastępować memory_limit limitami systemowymi (RLIMIT_AS, RLIMIT_DATA). Rozwiązanie Sansec, czyli blokada multipart/form-data (psuje każde wgrywanie plików, także w panelu), w Apache:
RewriteEngine On
RewriteCond %{HTTP:Content-Type} multipart/form-data [NC]
RewriteRule ^ - [F]
W Nginx:
if ($http_content_type ~* "multipart/form-data") {
return 403;
}
Z Cloudflare ograniczyć port 443 serwera źródłowego do jego zakresów IP; inaczej atak trafia prosto na IP serwera.
Wolisz, żebyśmy wdrożyli to za Ciebie? Zostawiamy to działające w Twoim sklepie, z monitoringiem i wsparciem technicznym.
Moduł, aplikacja, serwer, który sprawia problemy, albo coś pilnego. Odpowiadamy w ciągu 24 godzin, ze stałą wyceną: cena i termin.