PHP2Shell to nazwa dwóch krytycznych podatności w PHP, oznaczonych jako CVE-2026-109618 i CVE-2026-109619. Ich skuteczne wykorzystanie może pozwolić osobie atakującej na uruchomienie kodu na podatnym serwerze bez wcześniejszego logowania. Poprawki opublikowano 21 października 2026 r. Firmy zajmujące się bezpieczeństwem informowały o próbach wykorzystania luk, ale próby ataku nie są tym samym co potwierdzone włamanie.
11
14
19
Na czym polegają luki PHP2Shell
Podatności dotyczą samego środowiska PHP, a nie konkretnej strony czy systemu zarządzania treścią. Według Red Hat jedna wiąże się z nieprawidłową obsługą pamięci, gdy podczas przetwarzania żądania nie udaje się jej przydzielić; druga może pozostawić nieaktualny stan po przerwaniu sprzątania przez błąd krytyczny.
7 W określonych warunkach problemy te mogą prowadzić do zdalnego wykonania kodu — czyli uruchomienia go na podatnym serwerze bez logowania się do niego.
11
13
Obie luki otrzymały ocenę 9,2 w skali CVSS v4.0, co oznacza poziom krytyczny.
4 Możliwe skutki obejmują przejęcie serwera, ujawnienie danych lub zakłócenie działania usług. Sama obecność podatności nie oznacza jednak, że każda strona korzystająca z PHP została zaatakowana albo naruszona.
13
Dlaczego sprawa wymagała szybkiej reakcji
Według doniesień luki mogły być obecne w PHP od lat.
42 Nie dowodzi to jednak, że przez cały ten czas były znane atakującym ani że je wykorzystywano.
Duże zainteresowanie wzbudziła także rola sztucznej inteligencji w badaniach nad bezpieczeństwem. W relacjach podano, że Calif i Wiz używali narzędzi AI podczas swoich analiz, a OpenAI uczestniczyło w pracach badawczych i procesie ujawnienia podatności.
34
44 AI może wspierać badaczy w analizie oprogramowania, ale sama historia odkrycia nie pozwala stwierdzić, jak szybko podobne narzędzia pomogłyby atakującym ani która strona zyskała przewagę.
W nagłówkach pojawiała się też informacja o szerokim wykorzystaniu PHP — szacunkowo na około 70% stron internetowych.
20 To przybliżenie skali użycia języka, a nie liczba serwerów potwierdzonych jako podatne lub zaatakowane. Rzeczywiste ryzyko zależy m.in. od wersji PHP, konfiguracji i wdrożenia oraz od tego, czy zastosowano poprawkę.
Poprawki i doniesienia o atakach: co wiadomo
Projekt PHP opublikował poprawione wersje 21 października: 8.2.35, 8.3.36, 8.4.27 i 8.5.12.
19 Ta lista obejmuje wydania PHP od 8.2 do 8.5. Organizacje korzystające ze starszych wersji powinny sprawdzić komunikaty bezpieczeństwa swojego dostawcy systemu lub hostingu i potwierdzić, czy udostępnił poprawkę albo jej backport. Nie należy zakładać, że taka aktualizacja na pewno istnieje — ani że jej nie ma.
Pojawiły się doniesienia o próbach wykorzystania luk. Serwis SecurityWeek podał, że Amazon zaobserwował taką próbę 17 października, cztery dni przed wydaniem poprawek.
14 Cloudflare informował z kolei o gwałtownym wzroście ruchu próbującego wykorzystać podatności; w kolejnych doniesieniach liczono go w milionach.
27
38 Są to dane o zaobserwowanych próbach, a nie o udanych włamaniach.
Oceny skali aktywności nie są jednolite: część źródeł opisuje aktywne próby ataków, a inne ocenia, że masowe wykorzystanie luk było mniej prawdopodobne, niż początkowo zakładano.
3
4 Dostępne materiały nie potwierdzają powszechnych skutecznych włamań. Warto traktować wiarygodne ostrzeżenia poważnie, a jednocześnie odróżniać skanowanie i próby ataku od dowodu, że konkretny serwer został naruszony.
2
3
Czasowe wyłączenia usług
Podczas reagowania na zagrożenie niektóre organizacje czasowo wyłączały publicznie dostępne serwisy lub kierowały je na prace konserwacyjne. Doniesienia opisują takie działania w Japonii, Francji, Finlandii i Holandii; do podjęcia działań wzywały również instytucje w USA i Europie.
18
20
35 Wyłączenie strony może ograniczyć ekspozycję podczas prac, ale samo w sobie nie świadczy o tym, że doszło do włamania.
Co powinni zrobić administratorzy PHP
- Sprawdź środowisko PHP, a nie tylko aplikację. PHP2Shell dotyczy środowiska uruchomieniowego PHP. Aktualizacja CMS-a lub wtyczki nie oznacza więc, że poprawiono również samą instalację PHP.
13
- Zainstaluj zweryfikowaną poprawkę. Zaktualizuj PHP do odpowiedniej wersji zawierającej poprawkę albo postępuj zgodnie z instrukcjami dostawcy, jeśli udostępnia backport. Potwierdź, jaka wersja działa na serwerze produkcyjnym.
19
- Sprawdź, czy nie doszło do naruszenia. Załatanie luki nie dowodzi, że wcześniej nikt nie uzyskał dostępu. Przejrzyj odpowiednie logi i zbadaj podejrzaną aktywność przed przywróceniem standardowego działania systemu.
- Ostrożnie stosuj zabezpieczenia tymczasowe. Kieruj się aktualnymi zaleceniami twórców PHP lub dostawcy. Pojedyncza zmiana konfiguracji ani zapora WAF nie zastępuje zweryfikowanej poprawki środowiska PHP.
15
27
- Traktuj zabezpieczenia kont jako dodatkową warstwę. Unikalne hasła i uwierzytelnianie wieloskładnikowe (MFA) pomagają chronić konta, ale nie usuwają luki umożliwiającej uruchomienie kodu na serwerze bez logowania.
Dla zespołów IT ważne jest rozróżnienie między podatnością, próbą jej wykorzystania i potwierdzonym włamaniem. Pozwala to działać pilnie i wdrażać poprawki, nie zamieniając niepewnych doniesień w niepotwierdzone wnioski o naruszeniu systemów.