PHP:
Что делать?

Если ваш сайт работает на PHP, а это почти любой сайт на WordPress, Joomla, Drupal или 1С-Битрикс, сегодня стоит потратить полчаса на проверку. 21 октября разработчики PHP выпустили срочное обновление: без него сайт можно взломать удалённо, не зная ни одного пароля.
| Главное за минуту
Уязвимости CVE-2026-109618 и CVE-2026-109619 находятся в самом PHP, а не в CMS. Опасность оценена в 9,2 балла из 10. Атакующий может запустить на сервере свой код или вытащить из памяти пароли, токены и ключи. Безопасные версии: 8.2.35, 8.3.36, 8.4.27 и 8.5.12 или новее. Для PHP 8.1 и старше официального обновления нет. Обновление WordPress и плагинов проблему не решает. |
Почему это касается почти всех
Ошибку нашли исследователи Wiz, Calif и OpenAI, причём искать её помогали ИИ-модели. Проблема связана с тем, как PHP обрабатывает ошибки нехватки памяти. После такой ошибки в процессе остаются «осколки» данных прошлого запроса, и следующий запрос может ими воспользоваться. Дальше это превращается в чтение чужой памяти или выполнение кода.
Уязвимость не зависит от кода сайта: исследователи взломали стандартные установки WordPress, Drupal и Joomla без входа в админку. Затронуты версии PHP начиная с 5.4 и все способы запуска: PHP-FPM, Apache с mod_php, php-cgi, LiteSpeed и FrankenPHP.

Реакция была быстрой. По данным Reuters, в Нидерландах, Финляндии, Франции, Германии и Бельгии часть государственных сайтов временно отключили. Cloudflare уже видит первые атаки. После публикации исправления злоумышленникам проще разобраться, что именно закрыли, поэтому ближайшие дни самые рискованные.
Кто должен обновить PHP на вашем сайте
Первым делом выясните, где работает сайт. От этого зависит, кто устанавливает исправление.

Если не помните, посмотрите письма и счета за хостинг. В них обычно написано, что вы арендуете: тариф виртуального хостинга или сервер (VPS, VDS, облачный, выделенный).
Как узнать версию PHP

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

Сайт на виртуальном хостинге
Системный PHP здесь обновляет провайдер, и сделать это за него вы не сможете. Ваша задача — получить от него ясный ответ и проверить сайт.
- Загляните в личный кабинет и почту: многие хостинги уже разослали уведомления.
- Если информации нет или она общая, напишите в поддержку. Пример письма — на схеме ниже.
- Если поддержка предлагает переключить сайт на другую версию PHP, сначала уточните у разработчика, совместим ли сайт с ней.
- После любых изменений откройте сайт и пройдите основные сценарии: заявка, корзина, загрузка файла, вход в админку.

Текст письма, который можно скопировать
Здравствуйте! Сайт [домен] работает на PHP [версия]. Установлено ли для него исправление уязвимостей CVE-2026-109618 и CVE-2026-109619 от 21 октября 2026 года? Если нет, подскажите сроки и какие меры защиты действуют сейчас.
Некоторые провайдеры на время обновления ограничили загрузку файлов через формы. Если на сайте перестали прикрепляться файлы или картинки, сначала спросите поддержку, не связано ли это с защитными мерами.
Сайт на своём сервере
На VPS, VDS или выделенном сервере PHP обновляете вы или ваш администратор. Если сервер ведём мы, [ничего делать не нужно: мы обновим его и сообщим вам].

Через панель управления
- ISPmanager:обновите установленные версии PHP в разделе управления PHP, затем проверьте версию в параметрах сайта.
- FASTPANEL:раздел «Настройки» → «Приложения», затем версия PHP в карточке сайта.
- cPanel/WHM:установите системные обновления, пакеты PHP обновятся вместе с ними.
- Plesk:«Инструменты и настройки» → «Обновления».
В разных версиях панелей пункты меню называются по-разному. Если не нашли нужный, напишите в поддержку панели или администратору.
Через терминал
Ubuntu и Debian:
| sudo apt update && sudo apt upgrade sudo systemctl restart php8.3-fpm # подставьте свою версию sudo systemctl restart apache2 # если PHP работает как модуль Apache |
AlmaLinux, Rocky Linux, CentOS:
| sudo dnf upgrade ‘php*’ sudo systemctl restart php-fpm sudo systemctl restart httpd # если используется Apache |
Docker:
| docker compose build —pull docker compose up -d |
Как убедиться, что исправление встало
Если PHP установлен из PPA ondrej/php, репозитория Remi или собран из исходников, команда php -v должна показать версию из таблицы выше или новее.
PHP из стандартных репозиториев Ubuntu, Debian и RHEL устроен иначе: дистрибутив встраивает исправление в старый номер версии. Тогда ищите номера CVE в журнале изменений пакета:
| apt changelog php8.3-fpm | grep -E «CVE-2026-10961[89]» rpm -q —changelog php-fpm | grep -E «CVE-2026-10961[89]» |
Если номера нашлись, исправление на месте. И помните: php -v показывает версию для командной строки. Сайт может работать на другой версии, поэтому сверьтесь с панелью или со «Здоровьем сайта» в WordPress.
Если стоит PHP 8.1 или старше
Для старых веток официальных релизов нет. Масштаб большой: по данным Censys, на которые ссылается Reuters, примерно 1,5 млн из 2,6 млн проверенных серверов работают на версиях PHP, для которых исправления нет.
- Спросите поставщика.Некоторые дистрибутивы и поставщики расширенной поддержки переносят исправления в старые версии. Хостинг тоже может знать, есть ли такой вариант.
- Планируйте переход на PHP 8.2 или новее.Старые темы, плагины и самописный код могут не заработать сразу, поэтому переход сначала проверяют на копии сайта.
- До перехода включите временную защитуиз раздела ниже.
Для тех, кто собирает PHP из исходников, команда PHP выложила патчи для веток 7.4, 8.0 и 8.1.
Что защищает, а что только кажется защитой

Временные настройки нужны, только если обновить PHP прямо сейчас нельзя. Они перекрывают известные пути атаки, но не все. Задавать их нужно в php.ini или в настройках пула PHP-FPM, после чего перезапустить PHP. Через .user.ini или ini_set() они не сработают.
| ; php.ini или пул PHP-FPM session.upload_progress.enabled = 0 post_max_size = 8M ; 32M, если сайт принимает файлы upload_max_filesize = 4M ; меньше post_max_size fatal_error_backtraces = 0 ; только для PHP 8.5 |
Ограничение размера запросов может сломать загрузку файлов на сайте. После установки исправления верните прежние значения.
Как понять, что сайт уже пытались взломать
Атака идёт ниже уровня CMS, поэтому в журналах сайта следов мало. Исследователи Wiz советуют искать:
- ошибки «Allowed memory size exhausted» сразу после запросов с загрузкой файлов;
- серии ответов с кодом 500 без видимой причины;
- очень длинные или странные cookie PHPSESSID в ответах сервера;
- частые перезапуски процессов PHP-FPM;
- незнакомые PHP-файлы в папке сайта и новых пользователей с правами администратора.
| sudo grep -i «allowed memory size» /var/log/php*fpm*.log sudo find /var/www -name «*.php» -mtime -3 |
Нашли что-то подозрительное?
|
Частые вопросы
У меня включены автообновления WordPress. Этого достаточно?
Нет. Автообновления обновляют WordPress, темы и плагины. PHP — это программа на сервере, и её обновляет хостинг или администратор.
Сайт маленький, кому он нужен?
Такие атаки автоматические: программы перебирают все сайты подряд и ищут уязвимую версию PHP. Взломанный сайт используют для рассылки спама, размещения вирусов или кражи данных клиентов.
Можно просто переключиться на PHP 8.4?
Можно, если сайт с ней совместим и на хостинге стоит исправленная сборка 8.4.27 или новее. Сама по себе ветка 8.4 не гарантирует защиту: важна именно исправленная версия.
Хостинг отключил загрузку файлов. Это надолго?
Обычно такие ограничения снимают после установки исправлений. Точные сроки знает поддержка провайдера.
Я не понимаю, что из этого мне делать.
Это нормально. Пришлите нам адрес сайта, и мы скажем, что нужно сделать в вашем случае.

