Wersja PHP i koniec wsparcia
ważność wysokazaplanowany
PHP po końcu wsparcia nie dostaje poprawek bezpieczeństwa. Strona stoi wtedy na warstwie, której nikt już nie łata.
Zaplanowany. Z zewnątrz widać tylko nagłówek X-Powered-By, który większość hostingów usuwa; dokładny odczyt daje Wtyk od środka WordPressa.
WIKI
artykuł z 16.09.2026 · źródeł 9Wersja PHP i koniec wsparcia to parametr monitoringu stron internetowych, który ustala, na jakiej gałęzi PHP działa strona, i porównuje ją z harmonogramem wsparcia projektu PHP. Wynikiem jest gałąź wspierana, gałąź po końcu wsparcia albo wersja nieznana. Każda gałąź PHP ma pełne wsparcie przez dwa lata od pierwszego stabilnego wydania, a potem przez kolejne dwa lata dostaje wyłącznie poprawki krytycznych problemów bezpieczeństwa [1].
Jak działa
W okresie pełnego wsparcia zgłoszone błędy i problemy bezpieczeństwa są poprawiane w regularnych wydaniach. W okresie poprawek bezpieczeństwa wydania powstają tylko wtedy, gdy są potrzebne. Po końcu wsparcia (EOL) gałąź nie jest już utrzymywana, a jej użytkownicy mogą być narażeni na niezałatane podatności [1]. Terminy w tabeli PHP kończą się 31 grudnia: gałąź 8.2, wydana 8 grudnia 2022 r., ma poprawki bezpieczeństwa do 31 grudnia 2026 r. [1]. Najnowsza gałąź 8.5, wydana 20 listopada 2025 r., ma pełne wsparcie do 31 grudnia 2027 r., a poprawki bezpieczeństwa do 31 grudnia 2029 r. [1].
Z zewnątrz wersję zdradza jedynie nagłówek odpowiedzi HTTP. Dyrektywa expose_php ujawnia, że na serwerze działa PHP, razem z wersją w nagłówku, np. X-Powered-By: PHP/5.3.7; ustawia się ją tylko w php.ini, a jej wartość domyślna to 1, czyli włączona [5]. OWASP zaleca usuwanie wszystkich nagłówków X-Powered-By [6], więc brak nagłówka oznacza wersję nieznaną, a nie brak PHP. Nawet obecny nagłówek nie rozstrzyga o łatkach: dystrybucje przenoszą poprawki bezpieczeństwa do starszych wersji pakietów, a narzędzia oceniające podatność wyłącznie po numerze wersji dają fałszywe alarmy [7].
Od środka odczyt jest dokładny. WordPress wysyła stałą PHP_VERSION do usługi serve-happy w api.wordpress.org, przechowuje odpowiedź przez tydzień i przy wersji uznanej za nieakceptowalną pokazuje ostrzeżenie administratorom w kokpicie [8]. Filtr wp_is_php_version_acceptable pozwala ten test tylko zaostrzyć, a nie złagodzić [8].
Standardy i specyfikacje
- Harmonogram PHP określa zasadę dwóch lat pełnego wsparcia i dwóch lat poprawek bezpieczeństwa [1]. Wsparcie zakończyły m.in. gałęzie 7.4 (28 listopada 2022 r.), 8.0 (26 listopada 2023 r.) i 8.1 (31 grudnia 2025 r.) [2]. Dla każdej takiej gałęzi projekt podaje ostatnie wydanie, np. 8.0.30 i 8.1.34; nowsze wydania tych gałęzi już nie powstaną, więc numer poprawki w nagłówku nie zmienia oceny [2].
- Wymagania WordPressa zalecają PHP w wersji 8.3 lub nowszej. WordPress działa też z PHP 7.4 i nowszym, ale według tej samej strony takie wersje są po końcu wsparcia i mogą narażać stronę na podatności [3].
- Statystyki wordpress.org z 16 września 2026 r. pokazują 25,3% instalacji na PHP 8.3, 24,7% na 8.2, 16,9% na 7.4 i 11,3% na 8.1; gałęzie 8.1 i starsze łącznie to około 38% [4], czyli wersje już bez wsparcia [2]. Gałąź 8.2 dostaje poprawki bezpieczeństwa do 31 grudnia 2026 r. [1].
Zagrożenia i skutki
Brak poprawek. Projekt PHP ostrzega, że starsze wersje mogą narażać na podatności i błędy poprawione w nowszych wydaniach [2]. Przykładem jest CVE-2024-4577: obejście starej poprawki CVE-2012-1823 w PHP-CGI na Windows z wybranymi stronami kodowymi, pozwalające wykonać dowolny kod PHP przez spreparowane żądanie HTTP [9]. Poprawki wydano w wersjach 8.1.29, 8.2.20 i 8.3.8 [9]; gałęzi 8.0, która zakończyła wsparcie 26 listopada 2023 r., nie ma na tej liście [2].
Ujawniona wersja. Nagłówek X-Powered-By podaje technologie serwera i według OWASP ułatwia atakującym szukanie podatności, choć mają oni też inne metody rozpoznania [6]. Ujawnianie wersji samego WordPressa opisuje artykuł Wersja WordPressa.
Mylący odczyt. Numer wersji z pakietu dystrybucji może być stary, a mimo to zawierać przeniesione poprawki: gałąź PHP 5.3 zakończyła wsparcie 14 sierpnia 2014 r., a w październiku wykryto w PHP przepełnienie bufora CVE-2014-3670, które mogło pozwolić na wykonanie dowolnego kodu. Red Hat przeniósł poprawkę do pakietów PHP 5.3 w RHEL 6, bo część klientów nie mogła przejść na 5.4 z powodu problemów ze zgodnością [7]. Odwrotnie, ukryty nagłówek nie wyklucza przestarzałej gałęzi [5].
Przykłady
| Odczyt | Wniosek |
|---|---|
X-Powered-By: PHP/8.3.x | gałąź z poprawkami bezpieczeństwa do 31 grudnia 2027 r. [1] |
X-Powered-By: PHP/8.2.x | gałąź z poprawkami bezpieczeństwa tylko do 31 grudnia 2026 r. [1] |
X-Powered-By: PHP/7.4.33 | ostatnie wydanie gałęzi 7.4, bez wsparcia od 2022 r. [2] |
| stara wersja z pakietu dystrybucji | możliwe poprawki przeniesione przez dystrybutora [7] |
| brak nagłówka | wersja nieznana, nagłówek mógł zostać wyłączony [5] [6] |
| ostrzeżenie o PHP w kokpicie WordPressa | wersja uznana przez wordpress.org za nieakceptowalną [8] |
- [1] Supported Versions · The PHP Group
- [2] Unsupported Branches · The PHP Group
- [3] Requirements · WordPress.org
- [4] PHP versions in use — statystyki API (odczyt 2026-09-16) · WordPress.org
- [5] Description of core php.ini directives — expose_php · PHP Manual
- [6] HTTP Headers Cheat Sheet · OWASP
- [7] Backporting Security Fixes · Red Hat
- [8] misc.php — wp_check_php_version() (wordpress-develop, trunk) · WordPress
- [9] GHSA-3qgc-jrrr-25jv — Argument Injection in PHP-CGI (CVE-2024-4577) · PHP Group / GitHub
STATS
wyniki z systemu · tylko liczby zbiorczeParametr zaplanowany: sondy jeszcze nie ma w CREATO_PING, więc system nie ma czego liczyć. Liczby pojawią się po pierwszym przebiegu z tą sondą.
CARD
karta do opracowaniaParametr zaplanowany: nie ma jeszcze sondy, helpera ani workflowu, więc nie ma drogi przez system do narysowania.
| Obszar i ważność | Bezpieczeństwo · wysoka (B32) |
|---|---|
| Workflow i częstotliwość | brak — parametr zaplanowany |
| Sonda i helper | brak |
| Testy | do opracowania |
| Typ wyniku | do opracowania |
| Jednostka | do opracowania |
| Próg i reguła | do opracowania |
| Gdzie leżą pokrętła | do opracowania |
| Retencja odczytów | do opracowania |
| Karta przepisana z | karta tego parametru nie została jeszcze przepisana z kodu CREATO_PING |
Parametr nie otwiera osobnego ustalenia — sondy jeszcze nie ma.
LOOP
bez pętliTrafności jeszcze nie liczymy: zamknięcie subtaska nie niesie dziś werdyktu (prawdziwy / fałszywy / nie dało się sprawdzić). Cztery liczby pojawią się, gdy każde zamknięcie dostanie werdykt — to warunek startu pętli 1.
Ten parametr nie przeszedł jeszcze żadnej pętli. Kolejność po pierwszych pięciu grupach ustali miara trafności.