21 października 2026 r. PHP opublikowało poprawki dla CVE-2026-109618 i CVE-2026-109619. Zawierają je wydania PHP 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Wybierz wersję odpowiadającą używanej gałęzi. PHP wskazuje aktualizację środowiska uruchomieniowego jako jedyną pełną naprawę; ustawienia tymczasowe ograniczają tylko wybrane ścieżki ataku.
Poprawione wersje PHP
| Gałąź PHP | Poprawiona wersja upstream |
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
PHP opublikowało te wydania dla obu luk. Przy instalacji zarządzanej przez dystrybucję lub dostawcę hostingu trzeba uwzględnić pakiet przygotowany przez tego dostawcę. Aktualizacja CMS-a lub frameworka nie zastępuje poprawki samego PHP. Szczegóły wersji i zaleceń zawiera komunikat PHP.
Jak działają luki i które instalacje obejmują
Oba błędy PHP oceniło na 9,2 w skali CVSS v4.0. Mogą prowadzić do zdalnego wykonania kodu bez uwierzytelnienia w instalacjach obsługujących żądania WWW, między innymi PHP-FPM, Apache z mod_php, php-cgi, FrankenPHP i LiteSpeed.
CVE-2026-109618 wiąże się z obsługą braku pamięci. Żądanie może zostać przerwane, gdy jego wewnętrzne dane są tylko częściowo zainicjalizowane, a późniejsze sprzątanie może potraktować nieprawidłowe dane jako poprawne.
CVE-2026-109619 dotyczy nieaktualnego stanu przypisanego do żądania. Stan może pozostać po zwolnieniu pamięci, a następne żądanie obsługiwane przez ten sam proces roboczy (worker) może użyć go, zanim zwykła inicjalizacja go wyzeruje.
PHP wskazało mod_php jako tryb najwyższego ryzyka: nieuwierzytelnione żądanie może dotrzeć do podatnej ścieżki, zanim uruchomi się kod aplikacji.
Ustawienia tymczasowe nie zastępują aktualizacji
Dla CVE-2026-109619 PHP zaleca wyłączenie session.upload_progress.enabled=0 i ponowne uruchomienie wszystkich workerów. To blokuje potwierdzone ścieżki związane z sesjami, ale nie inne warianty. W PHP 8.5 ustawienie fatal_error_backtraces=0 blokuje potwierdzoną ścieżkę wykorzystującą ślady stosu dla błędów krytycznych.
Dla CVE-2026-109618 PHP zaleca skonfigurowanie memory_limit=-1 tak, by aplikacja nie mogła nadpisać tej wartości, ustawienie niskiego post_max_size oraz odpowiednie ograniczenia zasobów. PHP podaje 8M, jeśli przesyłanie plików nie jest potrzebne, i 32M, jeśli jest. Nawet te środki nie wykluczają, że błąd alokacji pamięci doprowadzi do podatnej ścieżki.
PHP podkreśla, że tymczasowe ustawienia zmniejszają ekspozycję na konkretne warianty, ale nie zapewniają pełnej naprawy. Tę daje aktualizacja do wydania zawierającego poprawkę.
PHP 8.1 i starsze gałęzie
PHP 8.1 i starsze nie otrzymują już aktualizacji projektu PHP. PHP udostępniło minimalne backporty kodu źródłowego dla wersji 7.4, 8.0 i 8.1, przeznaczone dla osób samodzielnie budujących PHP ze źródeł lub niemających dostępu do dostawcy LTS. Backport źródłowy nie jest tym samym co pakiet zainstalowany przez dystrybucję lub hosting. PHP zaleca użytkownikom starszych gałęzi sprawdzenie pakietów u dostawcy albo przejście na wspieraną wersję.