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

21 октября команда PHP выпустила экстренные обновления безопасности, закрывающие две критические уязвимости — CVE-2026-109618 и CVE-2026-109619.

Обе получили оценку 9.2 из 10 по CVSS v4.0 и позволяют потенциально выполнить произвольный код на сервере без аутентификации. Уязвимости получили название PHP2Shell.

Что именно уязвимо

Проблема находится непосредственно в ядре PHP, а не в WordPress, WooCommerce, Drupal, Bitrix или каком-либо отдельном плагине.

Поэтому потенциально затронуты практически любые веб-приложения, работающие на уязвимой версии PHP.

Одна из уязвимостей связана с некорректной обработкой состояния памяти при ошибках out-of-memory, вторая — с использованием устаревшего состояния памяти между запросами. В обоих случаях результатом может стать удалённое выполнение кода с правами PHP-процесса.

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

Какие версии исправлены

Если используется поддерживаемая ветка PHP, необходимо установить:

  • PHP 8.5.12
  • PHP 8.4.27
  • PHP 8.3.36
  • PHP 8.2.35

Именно эти версии содержат исправления двух уязвимостей.

PHP 8.1 и старше официально не поддерживаются, поэтому для них исправлений от самого проекта PHP не выпускается. В таком случае стоит планировать переход минимум на PHP 8.2, а лучше — на актуальную поддерживаемую ветку.

Что делать владельцу сайта

В первую очередь проверьте версию PHP на сервере.

Если используется уязвимая версия — обновите PHP как можно скорее.

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

WAF и другие средства защиты могут дополнительно снизить риск, но не заменяют установку исправления. PHP-разработчики прямо указывают, что безопасным решением является обновление.

Также стоит с осторожностью относиться к совету просто отключить session.upload_progress.enabled. Эта настройка действительно фигурировала в исследованиях PHP2Shell, однако она не считается полноценным исправлением уязвимости и не должна использоваться вместо обновления PHP.

Если коротко

Проверьте PHP → обновите до исправленной версии → перезапустите PHP/FPM или веб-сервер → проверьте логи.

Если ваш сайт работает на WordPress или WooCommerce, не нужно ждать обновления самого WordPress или плагинов: проблема находится на уровне PHP, поэтому ключевое действие выполняется именно на сервере.

Это тот случай, когда обновление действительно лучше не откладывать.