<?php Niezależna kontrola bezpieczeństwa PHP
Czy Twój PHP jest podatny na PHP2Shell?
Dwie krytyczne luki w samym PHP umożliwiają zdalne wykonanie kodu. Zostały naprawione 21 października 2026 r. Sprawdź, co strona ujawnia o swojej wersji PHP, lub wklej ciąg wersji — i zobacz dokładnie, co należy zrobić.
- Pasywna: jedno zwykłe żądanie, bez exploitów
- Bezpłatnie, bez rejestracji, bez reklam
- Na podstawie php.net i oficjalnych komunikatów
2Sprawdź wersję
Ocena odbywa się w przeglądarce — nic nie jest do nas wysyłane. Jedna wersja w wierszu, maksymalnie 20.
01 · php.net · 2026-10-23
Wersje z poprawkami
| Gałąź | Poprawiono w | Status gałęzi |
|---|---|---|
| PHP 8.5 | 8.5.12 | Aktywnie wspierana |
| PHP 8.4 | 8.4.27 | Aktywnie wspierana |
| PHP 8.3 | 8.3.36 | Tylko poprawki bezpieczeństwa |
| PHP 8.2 | 8.2.35 | Tylko poprawki bezpieczeństwa — koniec wsparcia 31 grudnia 2026 r. |
| PHP 8.1 · 8.0 · 7.x · 5.x | Brak oficjalnego wydania | Koniec wsparcia — brak wydania od projektu PHP |
Źródło: komunikat bezpieczeństwa php.net, 21 października 2026 r. Ostatnia weryfikacja: 2026-10-23.
Czym jest PHP2Shell?
PHP2Shell to nazwa nadana przez badaczy dwóm podatnościom w silniku PHP: CVE-2026-109618 (uszkodzenie pamięci, gdy PHP wyczerpie pamięć podczas parsowania żądania) oraz CVE-2026-109619 (stan wewnętrzny, który na tym samym procesie roboczym przechodzi z jednego żądania do następnego). Obie mają ocenę CVSS v4.0 9.2.
Nieuwierzytelniony atakujący może wykonać kod na serwerze lub odczytać pamięć procesu PHP — w tym hasła, tokeny sesji, klucze API i certyfikaty należące do innych żądań — bez uruchamiania jakiegokolwiek kodu. Według php.net dotyczą one PHP obsługującego żądania WWW: PHP-FPM, Apache z mod_php, php-cgi, FrankenPHP i LiteSpeed. Badacze zademonstrowali ataki na WordPress, Drupal i Joomla, ale nie jest wymagana żadna konkretna aplikacja: narażona jest nawet prosta strona „Hello World” działająca na podatnym PHP.
Co zrobić teraz
- Zaktualizuj do 8.5.12, 8.4.27, 8.3.36 lub 8.2.35 — albo do załatanego pakietu z dystrybucji.
- Zrestartuj każdy proces PHP: PHP-FPM, Apache, procesy kolejek, kontenery. Do tego czasu aktualizacja nie działa.
- Sprawdź każdą wersję PHP na serwerze — panele często instalują kilka wersji obok siebie.
02 · shell
Sprawdzenie na samym serwerze
Sprawdzenie strony widzi tylko to, co serwer zechce ujawnić. Na serwerze rzeczywistą odpowiedź dają te polecenia:
# wersja domyślnego PHP
php -v
# inne wersje PHP zainstalowane przez panele lub pakiety
ls -d /usr/bin/php* /usr/sbin/php-fpm* /opt/alt/php*/usr/bin/php /opt/cpanel/ea-php*/root/usr/bin/php /opt/plesk/php/*/bin/php 2>/dev/null
# ustawienia związane z częściowymi środkami zaradczymi
php -i | grep -E 'session.upload_progress.enabled|post_max_size|memory_limit|fatal_error_backtraces'
# co strona ujawnia odwiedzającym
curl -sI https://twoja-strona.pl/ | grep -i -E '^(x-powered-by|server):'
03 · FAQ
Częste pytania
Które wersje PHP są podatne?
Każda wersja sprzed 8.5.12, 8.4.27, 8.3.36 i 8.2.35 we wspieranych gałęziach. PHP 8.1 i starsze nie są już wspierane i nie otrzymują wydania od projektu PHP; należy je traktować jako podatne, chyba że dostawca potwierdzi przeniesioną poprawkę.
Moja strona nie pokazuje wersji PHP. Czy jestem bezpieczny?
Niekoniecznie. Ukrycie wersji (expose_php = Off) to dobra praktyka, ale niczego nie łata. Sprawdź na serwerze poleceniem php -v lub zapytaj dostawcę.
Narzędzie pokazuje starą wersję, ale hosting twierdzi, że jest załatana. Kto ma rację?
Być może obie strony. Dystrybucje Linuksa, takie jak Debian, Ubuntu i RHEL, często przenoszą poprawki bezpieczeństwa bez zmiany numeru wersji. Zapytaj hosting, jaka kompilacja pakietu jest zainstalowana i czy jej changelog wymienia CVE-2026-109618 i CVE-2026-109619.
Czy WordPress, Laravel lub mój CMS są podatne?
Luki są w samym PHP, więc każda aplikacja działająca na podatnej wersji PHP jest narażona. Badacze zademonstrowali ataki bez uwierzytelniania na WordPress, Drupal i Joomla, ale były to tylko przykłady — wystarczy nawet zwykła strona „Hello World”. Aktualizacja WordPressa lub wtyczek tego nie naprawi; trzeba zaktualizować PHP.
Czy dane mogą wyciec, nawet jeśli nie wykonano żadnego kodu?
Tak. CVE-2026-109619 może ujawnić pamięć procesu PHP — hasła, tokeny sesji, klucze API i certyfikaty z innych żądań — bez uruchamiania kodu przez atakującego. Takie wycieki nie pozostawiają plików i są trudne do wykrycia, dlatego zmień sekrety każdej strony, która działała w internecie na podatnej wersji.