PHP wydaje awaryjne poprawki dla krytycznych podatności „PHP2Shell” zagrażających serwerom WWW
Najważniejsze informacje
- •Dwie podatności, CVE-2026-109618 i CVE-2026-109619, wspólnie nazwane PHP2Shell, otrzymały 9,2 punktu na 10 w skali CVSS i znajdują się w samym PHP, a nie w aplikacjach takich jak WordPress, Drupal czy Joomla.
- •Wiz zademonstrowała ataki wykonujące kod na stronach WordPress i Drupal przed zalogowaniem, a jedna z podatności może również ujawnić pamięć działającego procesu PHP, bez konieczności posiadania konta atakującego.
- •Podatności dotyczą wersji aż do PHP 5.4, a poprawione wersje to PHP 8.5.12, 8.4.27, 8.3.36 i 8.2.35.
- •Szczegóły techniczne podatności wyciekły dzień przed planowanym ujawnieniem, co skłoniło PHP do wcześniejszej publikacji poprawek 21 października, a Cloudflare zgłosił już pierwsze próby wykorzystania.
- •Aktualizacja WordPressa, Drupala, Joomli lub wtyczek nie naprawi podatności; PHP informuje, że nie istnieją pełne mitygacje, a instalacja załatanej wersji PHP to jedyna bezpieczna opcja.

PHP opublikowało awaryjne aktualizacje bezpieczeństwa dla dwóch krytycznych podatności, które mogły pozwolić atakującym na uruchomienie złośliwego kodu na serwerze WWW bez logowania.
Podatności, oznaczone jako CVE-2026-109618 i CVE-2026-109619 oraz wspólnie nazwane PHP2Shell, znajdują się w samym PHP — języku programowaniu, na którym opierają się strony i aplikacje takie jak WordPress, Drupal czy Joomla. Każda z nich otrzymała 9,2 punktu na 10 w Common Vulnerability Scoring System (CVSS), co plasuje obie w zakresie krytycznym.
Czym jest PHP2Shell?
PHP działa na serwerze WWW, gdzie obsługuje żądania odwiedzających, pobiera informacje z baz danych, przetwarza formularze i buduje strony. Według firmy bezpieczeństwa Qualys PHP2Shell obejmuje dwa błędy w sposobie, w jaki język obsługuje pamięć oraz stan żądania sieciowego. Podatności dotyczą samego PHP, a nie WordPressa, Drupala czy Joomli.
WordPress poinformował w poście na X, że podatności dotyczą każdego serwera hostującego aplikację PHP i że żadna aktualizacja WordPressa nie jest wymagana ani planowana. Ponieważ każda aplikacja na serwerze korzysta z tego samego środowiska uruchomieniowego, jedna załatana wersja PHP zamyka lukę dla wszystkich — a pojedyncze niezałatane środowisko pozostawia je wszystkie otwarte na atak, niezależnie od tego, jak aktualne są ich aplikacje i wtyczki.
Pierwsza podatność, CVE-2026-109618, pojawia się, gdy PHP w trakcie żądania kończy się pamięć i dane pozostają w połowie skonfigurowane. Druga, CVE-2026-109619, występuje, gdy PHP w dalszym ciągu odłuje się do danych żądania po zwolnieniu pamięci, na której się znajdowały.
Wiz, jedna z firm, które zgłosiły błędy, oświadczyła, że zademonstrowała ataki uruchamiające kod na stronach opartych na WordPressie i Drupalu przed zalogowaniem. Firma dodała, że jedna z podatności może również ujawnić pamięć działającego procesu PHP. Atakujący nie potrzebuje konta, a dalszy przebieg ataku zależy od konfiguracji serwera oraz uprawnień, jakimi dysponuje skompromitowany proces PHP.
Kto jest narażony?
PHP poinformowało w ogłoszeniu, że zagrożone jest każda instalacja obsługująca żądania sieciowe, w tym PHP-FPM, Apache z mod_php, php-cgi, FrankenPHP i LiteSpeed. Projekt zaznaczył, że ryzyko jest najwyższe dla mod_php w Apache, wskazując, że zademonstrowany exploit pozwala nieuwierzytelnionemu żądaniu uruchomić atak przed wykonaniem jakiegokolwiek kodu aplikacji — co oznacza, że wyzwalacz nie zależy od żadnej słabości w kodzie samej hostowanej strony.\nWiz poinformowała, że podatne są wersje aż do PHP 5.4 — zakres obejmujący długo eksploatowane serwery legacy. Poprawione wersje to PHP 8.5.12, 8.4.27, 8.3.36 i 8.2.35. PHP 8.1 i starsze nie otrzymują już aktualizacji od projektu, choć PHP zapewnia minimalne backporty źródłowe dla 7.4, 8.0 i 8.1 dla osób kompilujących ze źródeł lub niemających wsparcia dostawcy.
PHP poinformowało również, że gałąź 8.2 przestanie otrzymywać poprawki bezpieczeństwa na koniec roku, więc użytkownicy tej wersji powinni zaplanować aktualizację. Niektóre dystrybucje Linuksa i dostawcy mogą backportować poprawki do starszych wersji; administratorzy powinni sprawdzić ich komunikaty, a tam gdzie ich nie ma, zaplanować przejście na wspieraną wersję. Produkty, kontenery i panele hostingowe z wbudowanym własnym PHP wymagają osobnych aktualizacji.
Według firmy bezpieczeństwa Huntress szczegóły podatności wyciekły do sieci dzień przed planowanym ujawnieniem. PHP przyspieszyło publikację i oplikowało poprawki 21 października.
Sansec, kolejna firma zajmująca się bezpieczeństwem, oświadczyła, że spodziewa się masowego wykorzystania podatności, skoro poprawki i opracowania techniczne stały się publiczne. Firma zauważyła, że Cloudflare zgłosił już pierwsze ataki. Wobec upublicznienia szczegółów technicznych i zarejestrowanych ataków próbami wykorzystania podatności na serwerach, które jeszcze się nie zaktualizowały, obrońcy powinni zająć się w pierwszej kolejności.
Jak zareagować
Aktualizacja WordPressa, Drupala, Joomli lub wtyczki nie naprawi podatności w samym PHP. Administratorzy mogą podjąć następujące kroki:
Zaktualizuj PHP. Zainstaluj poprawioną wersję za pomocą menedżera pakietów, a następnie upewnij się, że serwer WWW z niej korzysta. Użytkownicy WordPressa mogą sprawdzić wersję w Tools > Site Health > Info > Server, a wielu hostów pokazuje ją również w panelu sterowania.
Sprawdź każdą instalację. Zweryfikuj kontenery, panele sterowania oraz każdą aplikację z wbudowanym własnym PHP.
Zapytaj swojego hosta. Przy hostingu współdzielonym PHP może być poza kontrolą operatora. Zapytaj dostawcę, czy zastosował poprawki, i nie zakładaj, że to zrobił. WordPress poinformował, że hosterzy mogą już instalować poprawki i dodawać reguły zapory sieciowej, ale mimo to zaleca kontakt z hostem.
Obserwuj swoje repozytorium. Sansec ostrzegł, że repozytorium Remiego, popularne na serwerach PHP, nie zawierało poprawki w dniu wydania, i zaleciło korzystanie z pakietów dystrybucji lub kompilację ze źródeł.
Traktuj mitygacje wyłącznie jako rozwiązanie tymczasowe. PHP oświadczyło, że nie istnieją pełne mitygacje, a aktualizacja to jedyny bezpieczny wybór. Środki takie jak limitowanie rozmiaru żądań czy wyłączenie śledzenia przesyłania plików nie czynią instalacji bezpieczną.
Sprawdź, czy nie doszło do kompromitacji. Szukaj nieoczekiwanych procesów uruchomionych przez PHP, nieznanych plików i podejrzanych połączeń wychodzących. Poprawka nie usunie już zainstalowanego złośliwego oprogramowania.
Zwykli odwiedzający nie mogą naprawić tych podatności, ponieważ znajdują się one na serwerach, a nie na telefonach czy laptopach. Nie oznacza to, że każda strona oparta na PHP została zhakowana, ale aktualizacja do poprawj wersji to jedyne pełne rozwiązanie.