21 października zespół PHP wydał wersje 8.2.35, 8.3.36, 8.4.27 i 8.5.12 z poprawkami dwóch luk nazwanych php2shell, CVE-2026-109618 i CVE-2026-109619. Pozwalają wykonać kod na serwerze bez logowania i są już wykorzystywane w atakach. Jeśli Twoja strona albo sklep działa na PHP, sprawdź w tym tygodniu, czy poprawkę ma proces, który naprawdę obsługuje stronę.
W skrócie
- Luki są wykorzystywane, więc łatkę wgraj teraz, a nie przy najbliższym przeglądzie.
- Po aktualizacji zrestartuj PHP-FPM albo Apache’a, a obrazy kontenerów zbuduj od nowa.
- Zespół PHP wydaje poprawki dla PHP 8.2 tylko do 31 grudnia 2026.
Luki są już wykorzystywane
Informacja o lukach i dacie wydania wyciekła dzień przed planowanym wydaniem. Według The Hacker News firma watchTowr zgłosiła aktywne próby ataku już 19 minut po publikacji poprawek, a Cloudflare do rana 22 października naliczył ich miliony.
26 października BleepingComputer opisał potwierdzone udane przejęcie serwera. Stało się to na serwerze-pułapce z Apache’em, mod_php i PHP 8.4.26, a wynik niezależnie potwierdził badacz Marcus Hutchins. Dzień wcześniej firma Aviatrix opisała włamanie do niewymienionej z nazwy instytucji rządowej w Europie. Atakujący zostawili tam na niezałatanym serwerze web shell, czyli furtkę do dalszego dostępu.
Najbardziej narażone są serwery z mod_php w Apache’u, ale luka dotyczy też PHP-FPM, php-cgi, FrankenPHP i LiteSpeed. Przy milionach prób taki ruch może trafić do każdego niezałatanego serwera z PHP, także małego.
Co sprawdzić w tym tygodniu
Sama zainstalowana paczka nie wystarczy. Sprawdź po kolei:
- Wersję paczki, a nie wynik
php -v. Ubuntu 24.04 przeniosło poprawkę do swojego PHP 8.3.6, więcphp -vdalej pokaże 8.3.6. Łatka jest w paczce 8.3.6-0ubuntu0.24.04.13 lub nowszej. Debian 12 ma 8.2.35, a RHEL 9 dostał tę wersję w RHSA-2026:87072. - Restart. Workery PHP-FPM i Apache z mod_php trzymają stary kod w pamięci, dopóki ich nie zrestartujesz.
- Kontenery. Aktualizacja hosta nie zmienia PHP w obrazie, więc zbuduj go z
docker build --pulli wdróż. Jeśli w Dockerfile jest przypięta wersja, na przykładphp:8.2.34-fpm, najpierw ją podnieś. - Hosting. Na hostingu współdzielonym PHP łata dostawca, więc zapytaj go, czy poprawka już jest. Aktualizacja WordPressa nie aktualizuje PHP, bo PHP to osobny silnik, na którym działa strona.
Polecenia dla PHP z paczek Ubuntu 24.04 i RHEL 9:
# Ubuntu 24.04 (Debian 12: zamień 8.3 na 8.2, paczka 8.2.35-1~deb12u1 lub nowsza)
dpkg-query -W php8.3-fpm # 8.3.6-0ubuntu0.24.04.13 lub nowsza
sudo ls -l /proc/$(pgrep -o php-fpm8.3)/exe
sudo systemctl restart php8.3-fpm
# RHEL 9, moduł php:8.2
rpm -q php-fpm # 8.2.35 lub nowsza
sudo ls -l /proc/$(pgrep -o php-fpm)/exe
sudo systemctl restart php-fpm
Jeśli przy ścieżce widzisz (deleted), proces działa na wersji sprzed aktualizacji i trzeba go zrestartować. Przy mod_php restartujesz Apache’a: systemctl restart apache2 na Debianie i Ubuntu, systemctl restart httpd na RHEL.
PHP 8.2 dostaje poprawki do 31 grudnia
Według harmonogramu PHP poprawki bezpieczeństwa dla PHP 8.2 kończą się 31 grudnia 2026. Jeśli podobna luka wyjdzie w styczniu, zespół PHP nie wyda już wersji dla 8.2, więc nie dostaną jej też oficjalne obrazy Dockera. Tak było w tym tygodniu z PHP 8.1 i starszymi, dla których pojawiły się tylko łatki do kodu źródłowego.
Debian, Red Hat i część hostingów przenoszą poprawki do starszych wersji, ale według własnych terminów. Jeśli masz 8.2 z ich paczek, zapytaj dostawcę, do kiedy będzie je wydawał. Jeśli z php.net albo z oficjalnego obrazu, zaplanuj przejście przed końcem roku. Wybrałbym od razu 8.4, które ma poprawki do końca 2028, o rok dłużej niż 8.3. Najpierw staging, potem produkcja.
Kto decyduje, gdy nie da się od razu załatać
Nie zawsze da się zaktualizować od razu. Wtedy ktoś musi wybrać między obejściem a wyłączeniem serwisu. Obejście to na przykład wyłączenie session.upload_progress.enabled, mniejszy limit rozmiaru żądań albo reguła w WAF. Nie zastępuje łatki, ale skraca czas, w którym serwer jest łatwym celem. Część firm wyłączyła strony na kilka godzin i to była rozsądna decyzja.
Spisz na jednej kartce, kto u Ciebie podejmuje taką decyzję, jak go szybko złapać, które usługi można wyłączyć bez dużej szkody i kto zrobi samą aktualizację. W mojej usłudze utrzymania dostajesz alerty i reakcję w godzinach pracy, a awariami krytycznymi zajmuję się także wieczorem.
3 sposoby, w jakie mogę pomóc
- PostgreSQL 14 traci wsparcie 12 listopada 2026
Przeczytaj też ten wpis.
- Utrzymanie z alertami
Opieka z alertami. Reaguję w godzinach pracy, a awarie krytyczne biorę także wieczorem, do 22:00. Umowa miesięczna, bez rocznej lojalki.
- Napisz do mnie
Albo wprost na przemek@codelevel.pl. Odpowiadam w ciągu 1 dnia roboczego.