Dwie krytyczne luki bezpieczeństwa w PHP mogą umożliwić zdalne wykonanie kodu bez logowania. Problem dotyczy serwerów korzystających z popularnego interpretera, w tym witryn opartych na WordPressie. 21 października 2026 roku udostępniono pilne aktualizacje, które administratorzy powinni wdrożyć jak najszybciej.
PHP2Shell – poważne zagrożenie dla stron internetowych
PHP to jeden z najpopularniejszych języków programowania wykorzystywanych do tworzenia dynamicznych stron internetowych. Korzystają z niego między innymi systemy zarządzania treścią, sklepy internetowe i rozbudowane portale. Dlatego wykrycie błędów w samym interpreterze PHP może mieć znacznie poważniejsze konsekwencje niż usterka pojedynczej wtyczki.
Luki oznaczone jako CVE-2026-109618 i CVE-2026-109619 otrzymały ocenę 9,2 w skali CVSS 4.0. W określonych warunkach atakujący może wykonać własny kod na serwerze, nie posiadając konta ani danych logowania. Zakres możliwych działań zależy jednak od uprawnień procesu PHP i konfiguracji środowiska.
Szczególnie narażone są instalacje wykorzystujące Apache z modułem mod_php. W tym wariancie wykazano możliwość uruchomienia ataku przez odpowiednio spreparowane żądanie HTTP, zanim aplikacja zdąży wykonać własny kod.
Pierwsza luka: błąd obsługi braku pamięci
Pierwsza podatność, CVE-2026-109618, wiąże się z obsługą sytuacji, w której interpreterowi PHP zabraknie pamięci. Mechanizm przerywania operacji może zadziałać w chwili, gdy wewnętrzne dane żądania nie zostały jeszcze prawidłowo zainicjalizowane.
Podczas sprzątania po błędzie PHP może potraktować nieprawidłowy stan pamięci jako poprawny. Odpowiednio przygotowane żądanie wieloczęściowe może doprowadzić do takiej sytuacji, a w konsekwencji otworzyć drogę do wykonania kodu.
Programiści zmienili sposób obsługi błędów braku pamięci, aby ograniczyć ryzyko wykorzystania niekompletnych danych. To poprawka na poziomie interpretera, dlatego sama aktualizacja WordPressa czy wtyczek nie rozwiązuje problemu.
Druga luka: pamięć zwolniona, ale nadal używana
CVE-2026-109619 dotyczy błędu typu use-after-free. Występuje on wtedy, gdy program próbuje korzystać z obszaru pamięci, który został już zwolniony.
W PHP stan wewnętrzny może przetrwać zakończenie żądania, mimo że powiązana pamięć nie jest już dostępna. Jeśli kolejna obsługiwana przez ten sam proces operacja odczyta takie dane przed ich prawidłowym zresetowaniem, może dojść do naruszenia bezpieczeństwa.
Wskazano między innymi ścieżkę związaną z ustawieniem fatal_error_backtraces w PHP 8.5 oraz mechanizmem postępu przesyłania plików w sesjach. Ten drugi przypadek jest szczególnie istotny, ponieważ funkcja może być domyślnie włączona.
Jak zabezpieczyć serwer PHP?
21 października 2026 roku wydano poprawione wersje PHP: 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Administratorzy powinni zaktualizować środowisko do odpowiedniego wydania lub nowszego, zgodnego z używaną gałęzią.
Właściciele stron na hostingu współdzielonym powinni sprawdzić komunikaty dostawcy i upewnić się, że poprawka obejmuje faktycznie używaną wersję PHP. Warto zweryfikować także kontenery, serwery zapasowe i pozostałe środowiska obsługujące ruch internetowy.
PHP 8.1 i starsze wydania nie otrzymują już standardowych aktualizacji bezpieczeństwa od projektu PHP. Niektóre dystrybucje systemów Linux mogą udostępniać poprawki wsteczne, dlatego należy sprawdzić komunikaty konkretnego dostawcy.
Nie warto odkładać aktualizacji. W przypadku tych podatności poprawienie samej aplikacji nie wystarczy. Najważniejsze jest zabezpieczenie interpretera, który przetwarza żądania użytkowników i może stać się punktem wejścia do całego środowiska serwerowego.

