php2shell to nazwa dwóch krytycznych podatności w samym interpreterze PHP: CVE-2026-109618 i CVE-2026-109619. Zespół PHP ocenił obie na 9,2 w skali CVSS 4.0 i 21 października 2026 wydał poprawki z dopiskiem „zaktualizuj natychmiast”. Tym razem problem nie leży we wtyczce ani w motywie WordPressa, tylko w silniku, na którym działa większość stron firmowych w internecie. W tym artykule wyjaśniamy, co się stało, co zrobić jeszcze dziś i dlaczego strona zbudowana w Astro jest na tego typu alarmy po prostu odporna.
W skrócie: jeśli Twoja strona działa na PHP, zaktualizuj go do wersji 8.5.12, 8.4.27, 8.3.36 lub 8.2.35. Jeśli działa na PHP 8.1 lub starszym, masz poważniejszy problem, bo te wersje nie dostają już aktualizacji od projektu PHP. Długofalowo najprostszym sposobem, żeby kolejne luki w PHP przestały Cię dotyczyć, jest strona statyczna: Astro buduje gotowe pliki HTML, a serwer tylko je wysyła, bez uruchamiania PHP przy żadnej wizycie.

Czym jest php2shell?
20 października 2026 zespół PHP zapowiedział na php.net krytyczne wydanie bezpieczeństwa na następny dzień. Identyfikatory podatności wyciekły jednak wcześniej. Tego samego dnia krążyły już w mediach społecznościowych razem z nagraniem demonstrującym łańcuch ataku, ochrzczony przez badaczy nazwą „php2shell”. Poprawki ukazały się 21 października o 14:00 UTC.
Według komunikatu PHP chodzi o dwa błędy w zarządzaniu pamięcią:
- CVE-2026-109618: obsługa braku pamięci może przerwać PHP w momencie, gdy wewnętrzne dane żądania są zainicjowane tylko częściowo, a sprzątanie po żądaniu traktuje je potem jak poprawne.
- CVE-2026-109619: wewnętrzny stan należący do żądania może przetrwać zwolnienie pamięci, a kolejne żądanie obsługiwane przez ten sam proces może z niego skorzystać.
Obie podatności mogą prowadzić do zdalnego wykonania kodu bez logowania. PHP pisze wprost, że największe ryzyko dotyczy konfiguracji z mod_php: istnieje działający exploit, w którym nieuwierzytelnione żądanie uruchamia atak, zanim wykona się jakikolwiek kod aplikacji. Zagrożone są też PHP-FPM, php-cgi, FrankenPHP i LiteSpeed, czyli praktycznie każda typowa konfiguracja hostingu.
Dlaczego to poważniejsze niż kolejna luka we wtyczce?
Większość alarmów wokół WordPressa dotyczy konkretnej wtyczki albo motywu. Wtedy wystarcza aktualizacja z poziomu panelu. php2shell jest inny z trzech powodów.
- Nie pomoże dobrze ustawiony WordPress. Atak dzieje się w interpreterze, zanim strona w ogóle zacznie działać. Wtyczki bezpieczeństwa, ukryty panel logowania czy silne hasła nie mają tu nic do powiedzenia.
- Skala. Według danych W3Techs przytaczanych przez Tenable PHP obsługuje 69,3% stron, których język po stronie serwera da się ustalić. Cloudflare raportował pierwsze próby ataków jeszcze przed publikacją poprawek.
- Stare wersje zostają w tyle. PHP 8.1 i starsze nie dostają już aktualizacji od projektu PHP. Przy tej okazji zespół udostępnił jedynie minimalne łatki dla 7.4, 8.0 i 8.1. Mnóstwo firmowych stron wciąż działa na takich wersjach, bo „przecież działa”.
To nie pierwszy taki przypadek w tym roku. W lipcu 2026 łańcuch wp2shell (CVE-2026-63030 i CVE-2026-60137) pozwalał przejąć niezaktualizowanego WordPressa bez logowania i trafił do katalogu aktywnie wykorzystywanych podatności CISA. Wzorzec się powtarza: strona generowana dynamicznie przy każdej wizycie to stała powierzchnia ataku, którą trzeba pilnować dzień po dniu.
Co zrobić jeszcze dziś: checklista
- Sprawdź wersję PHP. Zajrzyj do panelu hostingu albo poproś administratora. Czasem wersję zdradza nagłówek odpowiedzi
X-Powered-By. - Zaktualizuj PHP do 8.5.12, 8.4.27, 8.3.36 lub 8.2.35, a potem zrestartuj wszystkie procesy PHP-FPM lub serwer WWW. Na hostingu współdzielonym zapytaj dostawcę, czy poprawki są już wgrane.
- Jeśli działasz na PHP 8.1 lub starszym, zapytaj dostawcę o łatki dla swojej wersji i zaplanuj przejście na wspieraną wersję. Pamiętaj, że PHP 8.2 też kończy wsparcie 31 grudnia 2026.
- Jeśli nie możesz zaktualizować od razu, zastosuj doraźne ustawienia z komunikatu PHP, np.
session.upload_progress.enabled=0i rozsądne limitypost_max_size. Sam zespół PHP zaznacza jednak, że to tylko zmniejsza ryzyko, a nie zabezpiecza instalacji. - Przejrzyj logi pod kątem nietypowych żądań POST z
multipart/form-datai nowych plików PHP w katalogach strony.
Strona w Astro: jak działa i dlaczego php2shell jej nie dotyczy
Astro to nowoczesny framework do budowy stron, który domyślnie generuje statyczny HTML. Cała praca, czyli złożenie szablonów, treści, menu i wersji językowych, dzieje się raz, podczas budowania strony. Na serwer trafiają gotowe pliki HTML, CSS i obrazy.
Gdy ktoś odwiedza taką stronę, serwer (np. nginx albo CDN) po prostu wysyła plik. Nie uruchamia PHP, nie łączy się z bazą danych, nie ładuje wtyczek. Skoro PHP nie bierze udziału w obsłudze odwiedzin, podatność w PHP nie ma przez co zadziałać. To samo dotyczy następnych luk w PHP, w WordPressie i we wtyczkach, które pojawią się w przyszłości.
| WordPress / PHP | Astro (statyczny HTML) | |
|---|---|---|
| Co się dzieje przy wizycie | PHP składa stronę, odpytuje bazę, ładuje wtyczki | Serwer wysyła gotowy plik |
| Luki w PHP i wtyczkach | Dotyczą każdej wizyty | Nie dotyczą stron |
| Aktualizacje bezpieczeństwa | PHP, rdzeń, motyw, wtyczki | Tylko przy przebudowie strony |
| Hosting | Serwer z PHP i bazą danych | Dowolny serwer plików lub CDN |
| Szybkość | Zależy od cache i wtyczek | Gotowy HTML od pierwszego bajtu |
Co zyskujesz oprócz bezpieczeństwa?
- Szybkość. Gotowy HTML nie czeka na bazę danych, więc strona ładuje się szybciej, a to przekłada się na Core Web Vitals i pozycje w Google.
- Spokój. Nie ma panelu, do którego ktoś się włamie, ani wtyczek, które trzeba aktualizować co tydzień.
- Niższe koszty utrzymania. Statyczna strona działa na najprostszym hostingu albo na CDN i nie wymaga stałej opieki administratora.
- Pełna kontrola nad kodem. Cała strona leży w repozytorium, każda zmiana jest wersjonowana i da się ją cofnąć.
- Gotowość na AI i wyszukiwarki. Czysty HTML, poprawne dane strukturalne i pliki takie jak
llms.txtłatwiej przygotować i utrzymać niż w motywie WordPressa.
A formularz kontaktowy, blog i edycja treści?
To najczęstsze pytania przed migracją. Wszystkie mają dobre odpowiedzi.
- Blog i aktualności działają w Astro natywnie. Wpisy są plikami treści, a lista, kategorie, mapa strony i RSS budują się automatycznie.
- Edycja treści może odbywać się w plikach Markdown albo w wygodnym panelu typu headless CMS, który nie stoi na Twoim serwerze.
- Formularze obsługuje jeden mały, odizolowany punkt: funkcja serverless albo pojedynczy skrypt. Tak jest na fss.cc: wszystkie strony to statyczny HTML, a formularz kontaktowy obsługuje jeden plik, który łatwo zaktualizować i kontrolować. To zupełnie inna skala ryzyka niż cały WordPress z bazą danych i kilkunastoma wtyczkami.
Uczciwie: Astro nie jest dla każdego. Rozbudowany sklep z kontami klientów czy portal z logowaniem wymagają backendu. Typowa strona firmowa, oferta, landing page, blog czy dokumentacja produktu to jednak idealny przypadek dla strony statycznej.
Jak przenosimy strony do Astro w FSS
Zanim zaproponowaliśmy to klientom, przenieśliśmy własną stronę. fss.cc działała na WordPressie, a dziś to ponad 440 stron w trzech językach (polski, angielski, niemiecki) serwowanych jako statyczny HTML. Cały serwis buduje się w kilka sekund. Proces migracji wygląda u nas tak:
- Audyt. Spisujemy wszystkie adresy URL, treści, formularze, integracje (analityka, CRM, rezerwacje) i to, co faktycznie przynosi ruch z Google.
- Wygląd. Zachowujemy obecny design albo przy okazji go odświeżamy. To Twoja decyzja.
- Migracja treści. Przenosimy strony, wpisy, obrazy i wersje językowe, porządkując po drodze to, co narosło przez lata w WordPressie.
- SEO bez strat. Zachowujemy adresy, a tam, gdzie się zmieniają, ustawiamy przekierowania 301. Dbamy o canonical, hreflang, mapę strony i dane strukturalne.
- Wdrożenie bez przestoju. Nowa wersja zastępuje starą bez przerwy w działaniu, a my weryfikujemy każdą stronę po publikacji.
- Opieka. Pomagamy w dalszej rozbudowie i w razie potrzeby przejmujemy publikację treści.
Najczęściej zadawane pytania (FAQ)
Czy php2shell dotyczy mojej strony na WordPressie?
Jeśli Twoja strona działa na PHP w wersji sprzed 21 października 2026, to tak, niezależnie od tego, jak skonfigurowany jest WordPress. Podatność tkwi w samym interpreterze PHP. Bezpieczne są wersje 8.5.12, 8.4.27, 8.3.36 i 8.2.35 oraz nowsze w ramach tych gałęzi.
Czy wystarczy zaktualizować PHP?
Na dziś tak, aktualizacja PHP to jedyna pełna poprawka tej konkretnej podatności. Nie zmienia to jednak tego, że strona oparta na PHP i wtyczkach wymaga stałego łatania przy każdym kolejnym alarmie. Migracja do strony statycznej usuwa PHP z obsługi odwiedzin na stałe.
Czy po przeniesieniu do Astro stracę pozycje w Google?
Nie powinieneś, jeśli migracja jest zrobiona starannie. Zachowujemy adresy URL, treści i dane strukturalne, a zmienione adresy przekierowujemy kodem 301. Szybsza strona i czystszy kod zwykle pomagają w SEO, a nie szkodzą.
Czy będę mógł sam edytować treści po migracji do Astro?
Tak. Treści można edytować w plikach Markdown albo w panelu headless CMS, który działa w chmurze, a nie na Twoim serwerze. Dobieramy rozwiązanie do tego, kto i jak często aktualizuje stronę.
Podsumowanie
php2shell pokazuje, że nawet perfekcyjnie utrzymany WordPress jest tak bezpieczny, jak PHP, na którym działa. Zaktualizuj PHP jeszcze dziś. A jeśli nie chcesz, żeby każdy kolejny alarm oznaczał nerwowe łatanie, przenieś stronę do Astro: gotowy HTML, brak PHP przy odwiedzinach, szybsze ładowanie i zachowane SEO. Zrobiliśmy to u siebie i chętnie zrobimy to dla Ciebie. Napisz do nas albo umów bezpłatną 15-minutową rozmowę z inżynierem.