Bezpieczeństwo · 24 października 2026
PHP wydaje pilne łatki na krytyczne luki PHP2Shell umożliwiające zdalne wykonanie kodu
Projekt PHP opublikował natychmiastowe aktualizacje naprawiające dwie krytyczne luki w środowisku wykonawczym, określane łącznie jako PHP2Shell, które pozwalają nieautoryzowanym atakującym na uruchamianie kodu na serwerach internetowych. Firmy watchTowr oraz Cloudflare zgłosiły już wykrycie prób wykorzystania tych błędów w rzeczywistych atakach. Zidentyfikowane problemy, oznaczone jako CVE-2026-109618 i CVE-2026-109619, otrzymały ocenę 9.2 w skali CVSS w wersji 4.0. Luka została odkryta przez zespoły badawcze firm Wiz, Calif oraz Codex Security należące do OpenAI i dotyczy niemal wszystkich wersji języka począwszy od wersji 5.4. Dostępne poprawki zostały wydane w ramach wersji 8.5.12, 8.4.27, 8.3.36 oraz 8.2.35.
Głównym zagrożeniem jest fakt, że usterka znajduje się w samym silniku PHP, a nie w kodzie aplikacji, co oznacza, że podatne są wszystkie instalacje obsługujące ruch sieciowy, w tym konfiguracje PHP-FPM, Apache mod_php, php-cgi, FrankenPHP oraz LiteSpeed, niezależnie od bezpieczeństwa napisanego kodu. Najwyższe ryzyko dotyczy systemów wykorzystujących Apache mod_php, gdzie zademonstrowano możliwość wykonania kodu za pomocą pojedynczego żądania bez uwierzytelniania, zanim uruchomi się jakikolwiek kod aplikacji. W przypadku architektury PHP-FPM zachowanie jest inne, ponieważ procesy robocze są zamykane przy niepowodzeniu żądania, jednak luka CVE-2026-109619 została potwierdzona jako umożliwiająca wykonanie kodu również w tym środowisku, choć wymaga to określonej interakcji z aplikacją.
Atakujący mogą również odczytywać pamięć procesu roboczego PHP bez konieczności wcześniejszego uruchamiania kodu, co stwarza ryzyko wycieku haseł, tokenów uwierzytelniających, kluczy API oraz certyfikatów. Badacze zademonstrowali możliwość odczytu pamięci na aplikacjach, nad którymi nie mieli kontroli. Administratorzy systemów powinni niezwłocznie zaktualizować środowisko wykonawcze PHP i ponownie uruchomić wszystkie powiązane usługi, takie jak Apache czy PHP-FPM. Należy pamiętać, że aktualizacja aplikacji takich jak WordPress lub Laravel nie aktualizuje samego środowiska PHP, które pochodzi z pakietów serwera lub obrazów kontenerowych. Dla starszych wersji, takich jak 7.4, 8.0 i 8.1, które nie są już oficjalnie wspierane, udostępniono źródłowe wersje poprawek. Dystrybucje Linuksa oferujące długoterminowe wsparcie mogły już wdrożyć te łatki w starszych numerach wersji.
Po aktualizacji zaleca się przegląd ustawień limitu pamięci i maksymalnego rozmiaru danych POST, ponieważ nowa poprawka wprowadza twardy limit pamięci, który natychmiast kończy proces po jego osiągnięciu, uniemożliwiając działanie procedur zamykających. Twórcy PHP podkreślają, że aktualizacja jest jedyną kompletną metodą naprawy, a środki tymczasowe jedynie ograniczają niektóre wektory ataku. Dla luk związanych z pamięcią zaleca się ustawienie sztywnego limitu pamięci i ograniczenie rozmiaru żądań na poziomie serwera sieciowego, unikając jednocześnie stosowania ograniczeń systemowych RLIMIT_AS lub RLIMIT_DATA, które mogą wywołać podobne błędy. W przypadku drugiej luki zaleca się wyłączenie postępu przesyłania w sesjach. Obserwatorzy rynku odnotowują, że atakujący modyfikują swoje ładunki, aby omijać reguły zapór sieciowych, a jako wskaźniki kompromitacji wskazują na nietypowe żądania wieloczęściowe oraz powtarzające się błędy pamięci.