PHP предупредил о риске при смене обработчика сессий во время запроса

PHP предупредил о риске при смене обработчика сессий во время запроса
Содержание статьи

23 октября команда PHP опубликовала предупреждение о CVE-2026-115560. Потенциальное удалённое выполнение кода связано с редким сочетанием конфигурации сессий и действий приложения. На Mentoring.digital разбираем, какие условия названы разработчиками и что проверить до следующего исправляющего выпуска.

Риск возникает при сочетании трёх условий

В уведомлении перечислен конкретный сценарий:

  • В конфигурации для session.serialize_handler выбран php_binary или php_serialize.
  • Приложение через ini_set() переключает обработчик на php до вызова session_start().
  • Функция session upload progress остаётся включённой.

Само наличие PHP или загрузки файлов не подтверждает это сочетание. Команда PHP отдельно уточняет: приложения, которые не меняют обработчик сериализации во время выполнения, могут оставить функцию включённой.

Что означает временная рекомендация PHP

Разработчики предлагают установить session.upload_progress.enabled=0 до следующего планового исправляющего релиза. Если настройка уже применена после предупреждения от 21 октября, её следует сохранить. Полный advisory по новой CVE обещан вместе со следующим выпуском; дата в уведомлении не указана.

По документации, session upload progress записывает сведения о ходе загрузки в $_SESSION. Отключение этого механизма не равнозначно запрету загрузки файлов. Однако интерфейс приложения, который получает из сессии процент выполнения, требует отдельной проверки.

Не путайте session.upload_progress.enabled с session.upload_progress.cleanup: второй параметр управляет очисткой уже собранных сведений. Изменение cleanup не является указанной мерой защиты.

Как проверить своё приложение без поспешных выводов

Сопоставьте действующие настройки веб-приложения с кодом запуска сессии. Важно выяснить и начальное значение обработчика, и возможное переключение до session_start(). Отсутствие явной строки в одном файле конфигурации само по себе не показывает итоговое значение параметра.

Проверку изменения конфигурации и зависимого интерфейса загрузки сначала проведите в тестовом окружении. Для разбора жизненного цикла сессии можно выбрать наставника по PHP и подготовить обезличенный пример инициализации, без ключей и пользовательских данных.

Это отдельное уведомление. Временная мера по новой CVE не отменяет необходимость установить обновления безопасности, выпущенные 21 октября для предыдущих уязвимостей.

Похожие статьи по данной теме