php2shell, krytyczna luka w PHP (CVE-2026-109618 i CVE-2026-109619). Co robić i jak się zabezpieczyć
W skrócie: 20 października 2026 wyciekły szczegóły dwóch krytycznych luk w PHP, oznaczonych jako CVE-2026-109618 i CVE-2026-109619, a potocznie nazwanych „php2shell". Obie oceniono na 9,2 na 10 (CVSS 4.0) i obie pozwalają zdalnie wykonać kod na serwerze bez logowania. Łatki zaplanowano na 21 października, godz. 16:00. PHP napędza większość stron w internecie, więc temat dotyczy niemal każdego właściciela witryny.
Jeśli szukasz tego wpisu po nazwie „php2shell" albo po numerach CVE, to prawdopodobnie już wiesz, że dzieje się coś poważnego. Poniżej tłumaczymy po ludzku, na czym dokładnie polega problem, co może się wydarzyć i jak krok po kroku się zabezpieczyć.
Czym jest php2shell i czym są CVE-2026-109618 i CVE-2026-109619
php2shell to dwie krytyczne luki w PHP (CVE-2026-109618 i CVE-2026-109619), które pozwalają napastnikowi zdalnie wykonać kod na serwerze bez logowania, czyli w praktyce przejąć stronę i serwer. Obie oceniono na 9,2 na 10 w skali CVSS 4.0.
To dwie osobne, krytyczne podatności w samym PHP, czyli w oprogramowaniu, które działa na serwerze i „składa" Twoją stronę przy każdej wizycie. Obie dostały od zespołu bezpieczeństwa PHP ocenę 9,2 na 10 w skali CVSS 4.0, co plasuje je w najwyższym, krytycznym przedziale.
Najważniejsze fakty:
- Są to luki typu RCE (Remote Code Execution), czyli pozwalają uruchomić na serwerze dowolny kod napastnika.
- Atak nie wymaga logowania ani żadnych uprawnień na stronie.
- Szczegóły wyciekły do sieci, zanim powstała łatka (sytuacja typu zero-day). Dlatego zespół PHP przyspieszył wydanie poprawek i zastrzegł, że wyda je jeszcze wcześniej, jeśli zacznie się masowe wykorzystywanie.
- Nazwa „php2shell" to określenie krążące wśród badaczy. Mówi wprost, o co chodzi: z żądania HTTP do „shella", czyli zdalnej kontroli nad serwerem.
Na czym dokładnie polega luka i jak działa atak
Mechanizm, w dużym uproszczeniu, wygląda tak: napastnik wysyła do strony specjalnie spreparowane zapytanie HTTP. Zamiast zostać potraktowane jak zwykłe odwiedziny, zapytanie wykorzystuje błąd w PHP i powoduje, że serwer wykonuje polecenia napastnika. Efektem jest „powłoka" (shell), czyli zdalny dostęp do systemu, tak jakby ktoś usiadł przy Twoim serwerze.
Pełne szczegóły techniczne nie zostały jeszcze oficjalnie opublikowane (mają wyjść razem z łatką). Wczesne doniesienia branżowe wiążą problem z obsługą żądań typu multipart oraz z mechanizmem sesji w PHP, a jako doraźny środek zaradczy wskazuje się wyłączenie opcji odpowiadającej za śledzenie postępu wysyłania plików. Traktuj to jednak jako wskazówkę, a nie potwierdzoną pełną analizę, bo oficjalny opis dopiero się ukaże.
Dlaczego to tak groźne? Bo błąd jest w samym PHP, a nie w jednej wtyczce czy motywie. PHP działa „pod spodem" ogromnej części internetu, więc jedna luka w nim otwiera drzwi do bardzo wielu stron naraz.
Kogo dotyczy problem
Krótko: prawie każdego, kto ma stronę. PHP napędza między innymi:
- WordPressa (czyli większość stron na świecie),
- Joomlę, Drupala,
- sklepy WooCommerce, Magento, PrestaShop,
- aplikacje Laravel i wiele autorskich systemów,
- panele hostingowe i narzędzia, które nawet nie informują, że działają na PHP.
Doniesienia wskazują, że podatne mogą być wydania PHP od wersji 5 aż po 8, a poprawki trafią najpewniej tylko do aktualnie wspieranych gałęzi. To oznacza, że stare, niewspierane wersje PHP mogą nie dostać łatki w ogóle. Szacunki badaczy mówią o ponad milionie serwerów bezpośrednio wystawionych na ryzyko.
Co może się stać, jeśli nie zareagujesz
Jeśli ktoś wykorzysta tę lukę na niezałatanym serwerze, w najgorszym scenariuszu może:
- przejąć pełną kontrolę nad stroną i serwerem,
- podmienić treść witryny (spam, przekierowania na inne strony, fałszywe bramki płatności w sklepie),
- wykraść dane, w tym dane klientów i zawartość bazy,
- zostawić ukryte „tylne drzwi" (backdoor), żeby wracać na serwer nawet po aktualizacji,
- wykorzystać Twój serwer do rozsyłania spamu lub atakowania innych, co kończy się wpisaniem domeny na czarne listy.
Skutki bywają długofalowe: utrata zaufania klientów, spadki w wyszukiwarce po oznaczeniu strony jako niebezpiecznej i żmudne sprzątanie po infekcji.
Jak sprawdzić, czy Twoja strona jest zagrożona (wersja PHP)
- Sprawdź, na jakiej wersji PHP działa Twoja strona. Najszybciej w panelu hostingu (sekcja „PHP", „wersja PHP" lub podobna) albo pytając dostawcę. W WordPressie wersję PHP widać też w panelu, w sekcji „Narzędzia → Stan witryny → Informacje".
- Ustal, czy to wersja wspierana. Jeśli to stara, niewspierana gałąź, ryzyko jest większe, bo może nie być dla niej poprawki.
- Sprawdź, czy strona jest wystawiona publicznie (praktycznie każda firmowa strona jest). Systemy dostępne z internetu łataj w pierwszej kolejności.
Jak zabezpieczyć stronę przed php2shell, krok po kroku
1. Zaktualizuj PHP (to jedyne trwałe rozwiązanie)
Gdy tylko Twój hosting udostępni poprawione pakiety PHP, zainstaluj je. Najpierw strony dostępne publicznie. Większość hostingów współdzielonych wgra poprawkę po swojej stronie lub pozwoli przełączyć wersję PHP w panelu. Śledź komunikaty swojego dostawcy.
2. Zastosuj środki tymczasowe, zanim pojawi się łatka
To tylko prowizorka, która ma zmniejszyć ryzyko do czasu aktualizacji:
- rozważ wyłączenie opcji session.upload_progress.enabled w pliku php.ini (środek wskazywany przez ekspertów na czas przed łatką),
- dołóż reguły na zaporze aplikacyjnej (WAF), jeśli korzystasz np. z Cloudflare,
- ogranicz lub tymczasowo wyłącz funkcje wysyłania plików tam, gdzie nie są niezbędne.
3. Odetnij przestarzałe PHP
Jeśli strona działa na niewspieranej wersji PHP, która może nie dostać poprawki, zaplanuj aktualizację środowiska. Zanim to zrobisz, najbezpieczniej odciąć taką aplikację od internetu albo postawić ją za WAF.
4. Zrób kopię zapasową przed aktualizacją
Przed każdą większą zmianą wykonaj kopię zapasową strony. Jeśli aktualizacja coś poruszy, wrócisz do działającej wersji w kilka minut. Przy okazji warto wiedzieć, jak aktualizować stronę, żeby jej nie zepsuć.
5. Włącz monitoring i wykrywanie
Ustaw monitoring strony, żeby szybko wyłapać nietypowe zachowania: nagłe zmiany treści, spadek dostępności czy pojawienie się ostrzeżeń. Im wcześniej wykryjesz problem, tym mniejsze straty.
Jak rozpoznać, że ktoś już się włamał (sygnały i IOC)
Typowe ślady wykorzystania luk w PHP:
- procesy serwera WWW (php-fpm, php-cgi, apache2) uruchamiające powłoki lub narzędzia sieciowe: sh, bash, cmd, powershell, a także curl, wget, nc,
- w poleceniach wzorce odwrotnej powłoki: /dev/tcp/, fsockopen, mkfifo,
- szybkie polecenia rozpoznania: whoami, id, uname -a, ipconfig uruchamiane „z poziomu strony",
- nowe, nieznane pliki w katalogu witryny (często webshelle),
- nowe konta administratora, nietypowe zadania cron, nieoczekiwane wpisy w logach.
Co zrobić, jeśli padłeś ofiarą
- Odizoluj serwer lub stronę, żeby zatrzymać dalsze działania napastnika.
- Zachowaj logi serwera WWW i PHP, zanim zostaną nadpisane. To materiał do ustalenia, co się stało.
- Nie ograniczaj się do usunięcia jednego pliku. Infekcje zwykle zostawiają backdoory, przez które wracają. Potrzebny jest audyt przejmowanej strony.
- Przywróć stronę z czystej kopii sprzed infekcji, a następnie zamknij lukę (aktualizacja PHP) i zmień hasła (panel, baza, FTP, konta administratora).
Oś czasu luki php2shell
- 20 października 2026: w sieci pojawiają się szczegóły dwóch krytycznych luk PHP; wpis zostaje usunięty, ale zrzuty ekranu już krążą. Badacze potwierdzają, że luki są prawdziwe.
- 20 października 2026: zespół PHP publikuje zapowiedź awaryjnego wydania bezpieczeństwa i wyznacza je na 21 października.
- 21 października 2026, godz. 16:00: planowane wydanie poprawek. Pojawiają się też pierwsze doniesienia o próbach wykorzystania luk, więc czas reakcji ma znaczenie.
Nie chcesz się tym zajmować? Od tego jesteśmy my
Jeśli Twoja strona jest pod naszą opieką, nie musisz znać numerów CVE ani pilnować komunikatów. Śledzimy je za Ciebie, sprawdzamy, na jakiej wersji PHP stoi Twoja strona, i wdrażamy aktualizację albo środek zaradczy, gdy tylko będą dostępne. Monitoring wyłapie nietypową aktywność, a kopie zapasowe zabezpieczą Cię na wypadek kłopotów.
Nie wiesz, na jakim PHP stoi Twoja strona i czy jest zagrożona? Napisz do nas, sprawdzimy wersję PHP i zabezpieczymy stronę, zanim zrobi to ktoś niepowołany. Zobacz też, na czym polega nasza opieka nad stroną.
Źródła i oficjalne komunikaty
- PHP: oficjalna zapowiedź wydania bezpieczeństwa
- Huntress: Rapid Response: php2shell (CVE-2026-109618 i CVE-2026-109619)
- watchTowr: analiza CVE-2026-109618 i CVE-2026-109619