Mechanizm podatności PHP2Shell i skala zagrożenia
Dwie luki bezpieczeństwa wykryte w języku PHP otrzymały oficjalne oznaczenia CVE-2026-109618 oraz CVE-2026-109619, a w branży określa się je zbiorczo nazwą PHP2Shell. Umożliwiają one przeprowadzenie ataku typu zdalne wykonanie kodu (RCE) bez konieczności wcześniejszego uwierzytelnienia. Osoba atakująca nie musi znać hasła ani nakłaniać użytkownika do otwarcia złośliwego odnośnika bądź pliku, aby uzyskać dostęp do serwera podłączonego do sieci.
Skutki udanej eksploatacji luk obejmują instalację złośliwego oprogramowania, kradzież danych przechowywanych w systemie oraz ustanowienie trwałego punktu dostępowego w infrastrukturze firmy. Zagrożenie ma bezpośredni wpływ na stabilność sieci ze względu na powszechność języka PHP, który według szacunków zasila około 70% publicznie dostępnych stron internetowych.
Problem dotyczy popularnych systemów zarządzania treścią, w tym WordPress, Drupal, Joomla oraz MediaWiki obsługującego Wikipędię. Kod PHP znajduje się jednak nie tylko na serwerach www, ale również w narzędziach programistycznych, pakietach wiersza poleceń, urządzeniach sieciowych, takich jak zapory sieciowe i routery, a także w oprogramowaniu pamięci masowych i bramkach VPN.
Wykrycie luk z udziałem narzędzi AI i przebieg zgłoszenia
Podatności zostały zidentyfikowane przez badaczy z firmy Calif podczas audytu kodu prowadzonego w ramach inicjatywy Hack the Planet zorganizowanej przez OpenAI i Wiz. Sam fakt istnienia błędów w kodzie znany był badaczom od 2024 roku, lecz wówczas uznano je za niemożliwe do wykorzystania w praktycznym ataku, przez co nie przygotowano poprawek.
Sytuacja zmieniła się, gdy specjaliści z Calif opracowali skuteczny sposób eksploatacji luk. W procesie tworzenia dowodu koncepcji (proof-of-concept) wykorzystano modele sztucznej inteligencji, ale autorzy odkrycia zaznaczają, że kluczowa była wiedza techniczna zespołu dotycząca architektury PHP oraz historii wcześniejszych podatności. Zgodnie ze stanowiskiem firmy Calif żaden model językowy nie posiada obecnie zdolności samodzielnego wykrywania wszystkich luk wyłącznie w oparciu o proste zapytania.
Po potwierdzeniu zagrożenia poinformowano organizację PHP Foundation, która rozpoczęła procedurę skoordynowanego ujawniania luk. Informacje o błędach oraz gotowe łatki udostępniono pod ścisłym embargo wybranym dostawcom hostingu i dużym firmom technologicznym, aby umożliwić im wdrożenie zabezpieczeń przed oficjalną publikacją.
Wczesne próby ataków oraz pierwsze potwierdzone włamania
Pomimo próby utrzymania szczegółów w tajemnicy do momentu wydania oficjalnych poprawek przez PHP Foundation, w sieci odnotowano aktywność atakujących jeszcze przed wygaśnięciem embargo. Z informacji opublikowanych przez firmę Amazon wynika, że automatyczne systemy detekcji zarejestrowały próby wykorzystania luk PHP2Shell około tydzień przed udostępnieniem publicznych łatków, czyli od 17 października.
Przedstawiciele PHP Foundation wskazali ponadto, że jeden z podmiotów opublikował kod poprawek na kilka godzin przed oficjalnym terminem zakończenia embargo. Otwarty charakter kodu źródłowego PHP sprawia, że po analizie samej treści łatki specjaliści do spraw bezpieczeństwa oraz osoby o złośliwych zamiarach mogą szybko ustalić precyzyjne miejsce występowania błędu.
Firmy bezpieczeństwa Palo Alto Networks oraz Trail of Bits potwierdziły wykrycie udanych przejęć serwerów i działań poeksploatacyjnych związanych z lukami PHP2Shell. Matthew Prince, dyrektor wykonawczy firmy Cloudflare, poinformował z kolei o odnotowaniu wykładniczego wzrostu liczby automatycznych prób ataków niedługo po zniesieniu embargo.
Reakcją na zagrożenie było czasowe wyłączenie usług przez wiele instytucji i przedsiębiorstw w celu bezpiecznego zainstalowania aktualizacji. Wśród podmiotów, które zdecydowały się na przerwę techniczną, znalazła się między innymi platforma edukacyjna Smartschool w Edegem w Belgii, a także wybrane serwery bankowe, sklepy internetowe, portale branży gier, placówki medyczne oraz agencje rządowe.
Wpływ na infrastrukturę internetową i wyzwania systemów starszego typu
Język PHP należy do kategorii technologii bez automatycznego zarządzania bezpieczeństwem pamięci. Zgodnie z raportami amerykańskiej Narodowej Agencji Bezpieczeństwa (NSA), podatności związane z nieprawidłową obsługą pamięci odpowiadają za około 75% wszystkich aktywnie wykorzystywanych luk w oprogramowaniu na świecie. Z tego powodu rośnie popularność języków bezpiecznych pod kątem zarządzania pamięcią, takich jak Python, Rust czy Swift.
Pomimo powolnego spadku udziału PHP na rzecz nowszych rozwiązań, starsze technologie wciąż stanowią fundament działania znacznej części sieci. Dodatkowym utrudnieniem pozostaje fakt, że projekty typu open source są często utrzymywane przez nieopłacanych programistów, którzy nie posiadają budżetów na komercyjne audyty bezpieczeństwa, choć z ich pracy korzystają wielkie korporacje.
Skutki wystąpienia luk PHP2Shell porównywane są do największych incydentów w historii sieci, takich jak atak botnetu na dostawcę usług DNS Dyn w 2016 roku, paraliż brytyjskiej służby zdrowia przez oprogramowanie WannaCry w 2017 roku czy globalna awaria urządzeń z systemem Windows spowodowana błędną aktualizacją CrowdStrike w 2024 roku. Choć dzięki koordynacji branży uniknięto natychmiastowego paraliżu całej sieci, uderzenie falowe ataków na nieaktualizowane serwery i urządzenia starszego typu może trwać przez długi czas.