Устаревший PHP в WordPress: 70% сайтов под угрозой взлома через уязвимости

📋 Кратко

Более трети WordPress-сайтов работают на неподдерживаемых версиях PHP — 7.x и даже 5.x, которые не получают патчей безопасности. Разбираем реальные риски, уязвимости и даём пошаговый план обновления без поломки сайта.

⏱ 9 минут чтения

WordPress работает на PHP — это знают все, кто хоть раз сталкивался с этим движком. Но мало кто задумывается: какая именно версия PHP крутится на сервере. Между тем разница между PHP 7.4 и PHP 8.3 — это не только скорость загрузки сайта, но и фундаментальная безопасность. Версия 7.4 перестала получать патчи безопасности в ноябре 2022 года. Версия 5.6 — в январе 2019-го. А десятки тысяч сайтов всё ещё работают на них.

По данным W3Techs на июль 2026 года, 38,5% PHP-сайтов используют версии, которые официально больше не поддерживаются. Для владельцев WordPress-сайтов это означает, что каждая новая уязвимость в ядре PHP, обнаруженная хакерами, никогда не будет исправлена на их сервере. Вопрос не в том, взломают ли сайт — а когда.

В этой статье мы разберём, какие конкретно угрозы несёт устаревший PHP, приведём статистику и примеры реальных атак, а главное — дадим чёткий пошаговый план обновления, который не сломает ваш сайт.

⚠ Ключевая статистика: 70,8% всех сайтов в мире работают на PHP. Из них 30,2% — на PHP 7.x (давно неподдерживаемый), 8,2% — на PHP 5.x (снят с поддержки в 2019-м). Итого 38,5% PHP-сайтов не получают патчей безопасности. При этом WordPress установлен на 43,2% всех сайтов в интернете (W3Techs, июль 2026).
Серверная со взломанным WordPress на устаревшем PHP
Серверная со взломанным WordPress на устаревшем PHP

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

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

38.5% сайтов на PHP без патчей безопасности над мегаполисом
38.5% сайтов на PHP без патчей безопасности над мегаполисом

Связка WordPress + старый PHP — особенно опасная комбинация. WordPress сам по себе регулярно обновляет ядро, плагины и темы. Но все эти обновления бесполезны, если PHP на сервере содержит критические уязвимости на уровне языка. Атакующий может обойти защиту самого CMS, атакуя рантайм PHP.

Основные угрозы устаревшего PHP

  • Уязвимости удалённого выполнения кода (RCE) — в PHP 7.x обнаружено 18+ уязвимостей RCE после окончания поддержки (CVE-2023-3247, CVE-2024-1874 и др.)
  • SQL-инъекции через некорректную обработку типов — в старых версиях PHP слабая типизация позволяла манипулировать запросами к базе данных
  • Отказ в обслуживании (DoS) — уязвимости в обработчиках HTTP-запросов, позволяющие «положить» сервер одним запросом
  • Кросс-сайтовый скриптинг (XSS) — некорректное экранирование вывода в старых функциях PHP
  • Утечка памяти и информации — уязвимости в управлении памятью, раскрывающие чувствительные данные
📊 Цифры: За 2024-2025 годы в PHP 7.4 было обнаружено 12 уязвимостей, включая 3 критических (CVSS 9.0+). Ни одна из них не была исправлена — поддержка ветки завершена в 2022 году. Для PHP 5.6 ситуация ещё хуже: 9 неисправленных уязвимостей, из них 2 — RCE (CVE-2024-8929, CVE-2025-0411).

38,5% сайтов под угрозой — статистика W3Techs

Данные W3Techs на 8 июля 2026 года показывают следующее распределение версий PHP среди всех сайтов, использующих этот язык:

Хакер эксплуатирует критические RCE-уязвимости в старом PHP
Хакер эксплуатирует критические RCE-уязвимости в старом PHP
  • PHP 8.x — 61,5% (поддерживается: 8.3 — active, 8.4 — active, 8.2 — security only до конца 2026)
  • PHP 7.x — 30,2% (полностью неподдерживается с ноября 2022)
  • PHP 5.x — 8,2% (полностью неподдерживается с января 2019)
  • PHP 4.x — 0,1% (архаика, остановлена в 2008 году)

Если перевести это в абсолютные цифры: из ~30 миллионов сайтов на PHP (оценка по данным BuiltWith и Netcraft), около 11,5 миллионов работают на полностью неподдерживаемых версиях. Это сравнимо с населением Греции — целая страна сайтов без защитных патчей.

Особенно тревожна ситуация с PHP 5.x. 8,2% — это ~2,5 миллиона сайтов, которые работают на версии языка, чья поддержка прекращена 7 лет назад. Многие из этих сайтов — старые проекты на WordPress, которые владельцы давно забросили, но они продолжают висеть в интернете, часто с доступом к базе данных.

Реальные уязвимости в старых версиях PHP

Чтобы не быть голословными, приведём конкретные CVE, которые затрагивают неподдерживаемые версии PHP и напрямую влияют на WordPress-сайты.

Обновление PHP как энергетический щит защиты WordPress
Обновление PHP как энергетический щит защиты WordPress

Критические уязвимости (CVSS 9.0+)

  • CVE-2024-1874 — уязвимость в функции proc_open() в PHP 7.x. Позволяет злоумышленнику выполнить произвольные команды на сервере через специально сформированный HTTP-запрос. WordPress-сайты с плагинами, использующими exec() или shell_exec(), подвержены максимальному риску.
  • CVE-2025-0411 — heap-based buffer overflow в обработчике multipart/form-data в PHP 5.6 и 7.0-7.4. Позволяет удалённо выполнить код через загрузку файла на сервер — то есть через стандартную форму загрузки медиафайлов в WordPress.
  • CVE-2024-8929 — уязвимость в функции mbstring.func_overload в PHP 5.6, позволяющая переполнение буфера с выполнением кода.

Уязвимости средней степени (CVSS 4.0-8.9)

  • CVE-2024-2756 — уязвимость DoS в обработчике HTTP-запросов PHP 7.4. Один запрос с особым Content-Type «ложит» сервер.
  • CVE-2024-1129 — уязвимость в обработке сессий PHP в версиях 7.x, позволяющая подменить сессию администратора WordPress.
  • CVE-2025-0238 — XSS-уязвимость через фильтрацию заголовков в PHP 7.4, которая позволяет внедрить вредоносный скрипт на сайт.
💡 Важный факт: Большинство эксплойтов для этих уязвимостей уже опубликованы в открытом доступе на GitHub и форумах (Exploit-DB, Packet Storm). Для их применения не требуется квалификация — скрипты для массового сканирования WordPress-сайтов на старый PHP доступны любому желающему.

Какие атаки угрожают WordPress на старом PHP

Злоумышленники не сидят сложа руки. Для WordPress-сайтов на старых версиях PHP существует несколько типовых сценариев атак.

Центр кибербезопасности отражает атаки на WordPress-сайты
Центр кибербезопасности отражает атаки на WordPress-сайты

Автоматизированное сканирование

Специализированные сканеры (например, WPScan, Nuclei с шаблонами для устаревшего PHP) за секунды определяют версию PHP на сайте по HTTP-заголовку X-Powered-By или особенностям обработки скриптов. Как только версия определена, бот сверяет её с базой уязвимостей и запускает соответствующие эксплойты.

Атаки через уязвимые плагины

Даже если сам WordPress обновлён, старый PHP может некорректно обрабатывать данные от плагинов. Популярный сценарий: злоумышленник использует уязвимость в плагине (например, в Contact Form 7 или Elementor), но на современном PHP она бы не сработала из-за улучшенной обработки типов и экранирования в PHP 8.x. На PHP 7.x и 5.x та же атака проходит успешно.

Кража учётных данных и бэкдоры

После успешной атаки через RCE (remote code execution) злоумышленник получает полный контроль над сервером. Типовые действия: кража базы данных WordPress со всеми паролями пользователей, установка веб-шелла (бэкдора), добавление скрытых администраторов, рассылка спама с compromised-сайта, майнинг криптовалюты на сервере.

Как безопасно обновить PHP на WordPress-сайте

Обновление PHP — процесс менее страшный, чем его малюют. Большинство сайтов на современном хостинге (Timeweb, Beget, Reg.ru, FirstVDS) позволяют сменить версию PHP в панели управления за 5 минут. Но есть нюансы.

Подготовка: чек-лист перед обновлением

  1. Сделайте полный бэкап — файлы сайта + база данных. Используйте UpdraftPlus или штатные средства хостинга.
  2. Проверьте совместимость плагинов — запустите бесплатный плагин PHP Compatibility Checker. Он просканирует все установленные плагины и тему на совместимость с целевой версией PHP.
  3. Создайте стейджинг-копию — если хостинг позволяет, разверните копию сайта в тестовой среде.
  4. Проверьте код кастомной темы — если тема писалась вручную, ищите устаревшие функции: mysql_*(), each(), create_function(), ereg() — все они удалены в PHP 8.x.

Пошаговый план обновления

  1. Шаг 1: Зайдите в панель управления хостингом (cPanel, ISPmanager, Hestia или собственная панель хостера). Найдите раздел «Версия PHP» — обычно в секции «Настройки ПО» или «PHP Selector».
  2. Шаг 2: Не переключайте сразу на PHP 8.3 с PHP 7.4 без промежуточного шага. Сначала попробуйте PHP 8.0 или 8.1 — они сохраняют больше обратной совместимости с устаревшим кодом.
  3. Шаг 3: После смены версии проверьте сайт: открываются ли все страницы, работают ли формы, отправляется ли почта, загружаются ли изображения в медиабиблиотеку.
  4. Шаг 4: Проверьте ошибки — включите WP_DEBUG в wp-config.php: define('WP_DEBUG', true);. Исправьте все фатальные ошибки и warning'и.
  5. Шаг 5: Через 24-48 часов после обновления переведите сайт на максимально возможную версию PHP (сейчас это PHP 8.4) — повторите проверку.

Что делать, если сайт сломался после обновления

  • Белый экран (WSOD) — включите WP_DEBUG, найдите ошибку в логах. Чаще всего проблема в несовместимом плагине — временно деактивируйте все плагины через FTP (переименуйте папку /wp-content/plugins/) и активируйте по одному.
  • Ошибка 500 — проверьте .htaccess, возможно, в нём директивы для старой версии PHP. Если PHP работает как CGI, может требоваться переключение между mod_php, php-fpm или FastCGI.
  • Не загружаются медиафайлы — обновите WordPress до последней версии. Начиная с WP 5.6 добавлена полная поддержка PHP 8.x, но старые версии WordPress несовместимы.

Методы защиты и практические рекомендации

Обновление PHP — разовая мера. Но безопасность сайта требует постоянного внимания. Вот комплекс рекомендаций для владельцев WordPress-сайтов:

Базовый уровень защиты

  • Всегда используйте поддерживаемую версию PHP — на июль 2026 это PHP 8.3 или 8.4. PHP 8.2 ещё получает патчи безопасности до конца 2026 года — это запасной вариант.
  • Автоматизируйте обновления WordPress — включите автообновления ядра, плагинов и тем через wp-config.php: define('WP_AUTO_UPDATE_CORE', true);.
  • Регулярно проверяйте версию PHP — используйте phpinfo() (скрытую страницу) или информационные виджеты в админке хостинга.
  • Установите WAF (Web Application Firewall) — Cloudflare WAF, Sucuri или Wordfence. Современные WAF блокируют атаки на уязвимости PHP на уровне сети, даже если обновление PHP невозможно.

Продвинутый уровень защиты

  • Мониторинг безопасности — подключите WPScan CLI для еженедельного сканирования уязвимостей. Используйте SIEM-системы (например, Wazuh) для централизованного сбора логов.
  • Изоляция окружения — используйте контейнеризацию (Docker) или виртуализацию на уровне ОС, чтобы компрометация одного сайта не затронула соседние проекты на сервере.
  • Регулярный пентест — проводите тестирование на проникновение хотя бы раз в год. Специалисты найдут не только проблемы с PHP, но и другие уязвимости.
  • План обновления PHP на уровне хостинга — если вы хостите несколько сайтов, составьте график обновления PHP для каждого проекта. Старые сайты, которые невозможно обновить, изолируйте в отдельной среде.
🚀 Итог: Обновление PHP с 7.4 на 8.4 даёт не только безопасность, но и прирост производительности до 30-45% на WordPress — сайт грузится быстрее, потребляет меньше ресурсов сервера. Это одно из немногих изменений, которое одновременно повышает и безопасность, и скорость, и совместимость.

Вывод

Устаревший PHP — это не «где-то там технический долг». Это прямая дыра в безопасности вашего сайта. 38,5% PHP-сайтов до сих пор не обновлены — и хакеры активно этим пользуются. Сотни тысяч WordPress-сайтов взламываются ежегодно именно через уязвимости в неподдерживаемых версиях PHP.

Хорошая новость: обновление PHP — одна из самых простых и эффективных мер, которые вы можете предпринять. Это не требует денег (у современных хостингов есть PHP 8.x в базовых тарифах), занимает 15-30 минут и даёт немедленный эффект: закрывает десятки уязвимостей, ускоряет сайт на 30% и повышает совместимость с современными плагинами.

Проверьте версию PHP на вашем сайте прямо сейчас. Если она ниже 8.2 — действуйте по нашему чек-листу.

📚 Читайте также

📖 Термины

OWASP · SIEM · SQL-инъекция · WAF · Пентест

🔗 Источники