PHP: kolejna luka bez poprawki (CVE-2026-115560) i jak zamknąć ją ustawieniem
23 października zespół PHP opublikował informacyjną rekomendację o błędzie w obsłudze postępu wysyłania w sesji (session upload progress), który może prowadzić do wykonania kodu na serwerze. Poprawka pojawi się w najbliższym zwykłym wydaniu, nie ma awaryjnej łatki. Atak wymaga nietypowej konfiguracji, a według stanu na 23 października nie zgłaszano wykorzystania.
Kogo dotyczy
Tylko strony i aplikacje w PHP, w których jednocześnie: session.serialize_handler jest ustawiony na php_binary lub php_serialize, kod zmienia go na php przez ini_set() przed session_start(), a session.upload_progress jest włączone. Aplikacja, która nie zmienia obsługi sesji w trakcie działania, nie jest w tym scenariuszu. Zespół PHP nie ujawnił jeszcze dotkniętych wersji.
Jak sprawdzić u siebie
Sprawdź w php.ini, puli PHP-FPM i w kodzie strony, czy jest ini_set('session.serialize_handler', ...), oraz wartość session.upload_progress.enabled poleceniem php -i lub w panelu hostingu.
Jak naprawić
Wyłącz session.upload_progress.enabled = 0 w php.ini, puli PHP-FPM lub konfiguracji serwera (nie przez ini_set) i zrestartuj PHP. To samo ustawienie jest już zalecane przy PHP2Shell: jeśli je zastosowano, nic więcej nie trzeba. Gdy ukaże się zwykłe wydanie z poprawką, zaktualizuj PHP.
Co sprawdza Shield nie jest sprawdzane
Konfiguracji sesji nie widać z zewnątrz, dlatego Shield nie sprawdza tej luki i nie udajemy, że sprawdza. Możesz to sprawdzić u siebie według kroków powyżej.
Warto wiedzieć
Zespół PHP nie ujawnił jeszcze szczegółów (przyczyna błędu, dotknięte wersje, ocena powagi), zapowiedziano je razem z poprawką. Sprawdziliśmy własne serwery: wymagana konfiguracja sesji nie jest używana, a session.upload_progress jest wyłączone.