PHP2Shell — название двух критических уязвимостей в PHP, которые позволяют злоумышленнику выполнить код на сервере, не зная никаких паролей. Если ваш сайт работает на системе на базе PHP, например WordPress, он может быть под угрозой. Решение — не обновление WordPress, а обновление PHP на сервере: до версии 8.5.12, 8.4.27, 8.3.36, 8.2.35 или новее, что должен подтвердить ваш хостинг-провайдер.
Последние два дня слово «PHP» не сходит с новостных лент. В Нидерландах перестал работать DigiD — вход граждан в госуслуги. В Финляндии часть государственных сайтов отключили в качестве меры предосторожности. В США ФБР и АНБ призвали организации отключать серверы, если установить обновление невозможно. В Турции Управление кибербезопасности при администрации президента начало общенациональную проверку.
В этой статье мы объясним, что произошло, не перегружая вас техническими деталями. Затем шаг за шагом разберём, как туроператору понять, затронут ли его сайт, что сделать уже сегодня и как лучше подготовиться в будущем.
Сначала основы: что такое PHP?
PHP — это язык программирования, который работает «за кулисами» многих сайтов. Когда посетитель открывает ваш сайт, код, который собирает страницу, превращает форму обратной связи в письмо или сохраняет бронирование в базе данных, очень часто написан на PHP.
Даже если вы никогда о нём не слышали, скорее всего, вы где-то его используете. WordPress, WooCommerce, Joomla, Drupal и многие готовые плагины бронирования работают на PHP. По данным ФБР, около 70% сайтов в мире используют PHP.
Что произошло?
20–21 октября 2026 года команда PHP выпустила экстренные обновления для двух критических уязвимостей. Они получили идентификаторы CVE-2026-109618 и CVE-2026-109619, а вместе их называют «PHP2Shell». Обе получили оценку опасности 9,2 из 10.
Почему это серьёзно: при определённых условиях эти уязвимости позволяют злоумышленнику через интернет выполнить на вашем сервере любой код без логина и пароля. В сфере безопасности это называется удалённым выполнением кода (RCE). Проще говоря, кто-то может войти в вашу дверь, не имея ключа.
По данным Qualys, одна уязвимость возникает, когда у сервера заканчивается память и данные остаются недоинициализированными, а другая — когда после ошибки запрос следующего посетителя снова читает уже освобождённую память. Исследователи также показали, что из памяти сервера могут утечь пароли, данные сессий и API-ключи.
Агентство Anadolu сообщает, что уязвимости в августе нашла компания по безопасности Calif с помощью ИИ. Исправления около двух месяцев готовили без огласки, но новость попала в прессу за день до выхода обновлений.
Почему это так масштабно?
- Огромный масштаб: Palo Alto Networks обнаружила более 22,6 млн доступных из интернета систем, которые потенциально уязвимы.
- Старые версии повсюду: по данным Qualys, 71% установок PHP с известной версией работают на версиях без поддержки, которые не получают регулярных исправлений.
- Атаки уже идут: Cloudflare сообщила об атакующем трафике на эти уязвимости, а код для их эксплуатации уже в открытом доступе.
- Обновляются медленно: за первые 12 часов из 167 млн установок, которые отслеживает Qualys, обновили лишь около 199 тысяч.
Именно поэтому правительства отключали сайты. Пока система не обновлена, безопаснее всего закрыть дверь, через которую может войти злоумышленник. В Турции Управление кибербезопасности разослало срочные уведомления госучреждениям и призвало частные компании проверить свои системы на PHP. По его словам, на национальном портале госуслуг e-Devlet проблем, влияющих на работу сервисов, не обнаружено.
Чем это грозит туроператору?
Что злоумышленник сможет сделать внутри, зависит от того, что хранит ваш сайт. Наиболее вероятные сценарии:
- Утечка данных клиентов: имена, телефоны, e-mail и паспортные данные из форм бронирования. В зависимости от того, где находитесь вы и ваши гости, законы о защите данных (например, GDPR) могут обязывать вас сообщить об инциденте.
- Кража паролей и ключей: пароль от базы данных и API-ключи платёжной системы, channel manager или почтового сервиса.
- Вредоносный контент на сайте: скрытые спам-страницы или код, перенаправляющий посетителей на другие сайты. Если Google это заметит, сайт может отображаться с предупреждением, а месяцы работы над SEO пострадают.
- Ваш сервер используют для других целей: майнинг криптовалют, рассылка спама или атаки на другие сайты.
- Потеря продаж: если сайт придётся отключить в целях безопасности, вы не сможете принимать бронирования, даже в разгар сезона.
Затронут ли ваш сайт? Сначала проверьте версию
Первый шаг — узнать, работает ли сайт на PHP и на какой версии. В WordPress откройте в админке Инструменты → Здоровье сайта → Информация → Сервер. Панель хостинга (cPanel, Plesk и т. п.) обычно тоже показывает её в разделе «Версия PHP».
Версии, в которых уязвимости исправлены:
- PHP 8.5: 8.5.12 или новее
- PHP 8.4: 8.4.27 или новее
- PHP 8.3: 8.3.36 или новее
- PHP 8.2: 8.2.35 или новее
- PHP 8.1 и старше: регулярного официального обновления нет. Если хостинг не установил специальный патч, нужно переходить на более новую версию.
Важно: некоторые дистрибутивы Linux выпускают исправление, сохраняя старый номер версии. Поэтому более низкий номер не всегда означает, что сайт точно уязвим. Надёжнее всего спросить напрямую у хостинг-провайдера.
Что сделать сегодня
- Напишите хостингу и спросите: «Обновлён ли PHP на моём сервере против PHP2Shell (CVE-2026-109618 и CVE-2026-109619)?» Ответа «Мы добавили правило файрвола» самого по себе недостаточно. Убедитесь, что обновлён сам PHP.
- Помните, что обновление WordPress проблему не решает: уязвимость не в WordPress, а в PHP, на котором он работает. Обновления плагинов и тем, плагины безопасности и режим обслуживания не защищают, потому что атака может сработать ещё до загрузки WordPress.
- Если у вас свой сервер (VPS): обновите пакеты PHP, а затем перезапустите PHP-FPM или Apache. Без перезапуска сервер продолжит выполнять старый уязвимый код. В Docker скачайте новый образ и пересоздайте контейнеры.
- Если у вас старая версия: сделайте полную резервную копию и сохраните её вне сервера, затем перейдите на PHP 8.3 или 8.4. После этого по очереди проверьте главную страницу, страницы туров, форму обратной связи и шаги бронирования.
- Если обновиться сразу нельзя: размещение сайта за файрволом вроде Cloudflare даёт временную защиту. Если у вас есть технический специалист, он может применить временные настройки, рекомендованные PHP (например, session.upload_progress.enabled=0). Это не полное решение, а лишь способ выиграть время.
Кто-то уже проник? Признаки, которые стоит проверить
После обновления стоит проверить, не проник ли кто-то внутрь до того, как уязвимость закрыли:
- Есть ли в WordPress незнакомые учётные записи администраторов?
- Появился ли плагин, который вы не устанавливали?
- Есть ли файлы .php в папке wp-content/uploads, где хранятся изображения? Там не должно быть PHP-файлов.
- Появляются ли при поиске site:вашдомен.ru в Google страницы, которых вы никогда не создавали?
- Есть ли предупреждение в разделе «Проблемы безопасности» в Google Search Console?
- Присылал ли хостинг предупреждения о вредоносном ПО, спаме или необычной нагрузке?
Если вы заметили один из этих признаков, попросите хостинг просканировать сервер и восстановить чистую резервную копию, сделанную до подозрительной активности. Затем смените все пароли и API-ключи: WordPress, хостинг, база данных, почта, а также интеграции с платёжными системами и каналами продаж. Если данные клиентов могли утечь, проконсультируйтесь с юристом о ваших обязанностях.
На будущее: постоянные меры защиты
PHP2Shell — не последняя уязвимость. Главный вопрос в том, насколько вы будете готовы в следующий раз. Мы рекомендуем такие привычки:
- Используйте поддерживаемую версию: ПО без поддержки не получает исправлений. Сегодня хороший выбор — PHP 8.3 или 8.4.
- Назначьте ответственного за обновления: кто обновляет ваш сайт и как часто? Ответ должен быть чётким. Управляемый хостинг или договор на обслуживание — простой способ закрепить это письменно.
- Знайте, что у вас есть: основной сайт, старые промо-страницы, тестовые установки, забытые поддомены… Ведите список с сервером и версией каждого. Злоумышленники обожают забытые сайты.
- Удаляйте лишнее: удалите неиспользуемые плагины, темы и старые сайты. Каждый лишний элемент — ещё одна дверь, которую может открыть уязвимость.
- Поставьте сайт за файрвол: сервис вроде Cloudflare становится первой линией обороны, когда объявляют о новой уязвимости, пока вы не установили обновление.
- Храните пароли и ключи отдельно: не прописывайте API-ключи в коде, давайте каждому сервису только необходимые права и регулярно меняйте ключи.
- Храните резервные копии вне сервера и проверяйте восстановление: копия, которую ни разу не восстанавливали, — это копия, в работоспособности которой вы не уверены.
- Следите за сайтом: мониторинг доступности, уведомления Search Console и оповещения об изменении файлов покажут проблему раньше, чем её заметят гости.
- Составьте короткий план действий при инциденте: заранее решите, кому звонить, как временно отключить сайт и как сообщить клиентам, если что-то пойдёт не так.
Общая картина: уязвимости находят всё быстрее
Самое примечательное в этой истории — уязвимости нашли с помощью ИИ. Те же инструменты доступны и людям с дурными намерениями. Отныне уязвимости будут находить быстрее — и быстрее использовать.
Это значит, что время принципа «обновим, когда дойдут руки» прошло. Для туроператора сайт — уже не просто витрина. Это рабочий инструмент, который принимает бронирования и хранит данные клиентов, поэтому его безопасность — часть непрерывности вашего бизнеса.
В Monotim мы создаём сайты на современной основе, которую такие уязвимости серверного языка напрямую не затрагивают. Но ни одна технология не остаётся безопасной навсегда. Настоящую разницу делает постоянное наблюдение за сайтом и возможность быстро действовать, когда что-то идёт не так.
Если вы не уверены, затронул ли PHP2Shell ваш сайт, или хостинг не дал внятного ответа, мы можем посмотреть вместе.
Источники
- PHP Announces Critical Security Release for Two Vulnerabilities (PHP2Shell), Qualys (blog.qualys.com)
- Threat Brief: Critical Vulnerabilities in PHP, Palo Alto Networks Unit 42 (unit42.paloaltonetworks.com)
- Responding to core PHP vulnerabilities CVE-2026-109618 and CVE-2026-109619, Google Cloud (cloud.google.com)
- Hundreds of websites taken offline as concern grows over two PHP vulnerabilities, The Record (therecord.media)
- Dünya çapında PHP kaynaklı güvenlik açığının giderilmesi için çok sayıda internet sitesi erişime kapatıldı, Anadolu Ajansı (aa.com.tr)
- PHP2Shell: what it is, and what to do on your WordPress site, Meow Apps (meowapps.com)
История изменений
- Актуально
Первая публикация.