Уязвимость PHP на сайте эксперта: как проверить без программиста
Если сайт за тебя держат хостинг и подрядчик, а доход с ИИ хочется собрать без технических навыков, забирай разбор: он открыт всем, контакты оставлять не нужно.
Что случилось с PHP 21 октября и при чем тут ИИ?
Коротко: 21 октября разработчики PHP закрыли две дыры с оценкой 9,2 из 10. Через них чужой человек может запустить свой код на сервере без всякого пароля. Нашли их две команды исследователей с помощью ИИ-моделей. Если сайт работает на PHP, ему нужна исправленная версия: уязвимость PHP закрывает только обновление.
По оценке исследователей Wiz, на PHP работает около 70% сайтов в мире. На нем написаны WordPress, Битрикс, Joomla и еще куча движков (программ, из которых собирают сайт), так что уязвимость PHP задевает их все.
21 октября команда PHP выпустила версии 8.5.12, 8.4.27, 8.3.36 и 8.2.35. В объявлении на php.net написано прямо: две уязвимости позволяют выполнить код на сервере без входа в систему, обновиться нужно немедленно. Временные настройки сервера, по словам команды PHP, безопасной установку не делают.
Разработчики оценили каждую дыру в 9,2 балла из 10 по шкале опасности CVSS. Wiz дала им общее имя PHP2Shell.
Кто нашел, рассказывают по-разному. OpenAI пишет, что компания Calif нашла одну из дыр с помощью модели GPT-5.6 Sol, а Wiz независимо нашла обе. Сама Wiz называет среди своих инструментов Gemini 4 Argon и ту же GPT-5.6 Sol.
«Уязвимости, конечно, нашли не люди»
Дыры при этом старые. По оценке Wiz, хотя бы одна из двух есть почти в любой версии PHP, начиная с 5.4.
Если Wiz права, ИИ достал то, что люди пропускали больше десяти лет.
Касается ли это твоего сайта?
Коротко: касается, если сайт стоит на WordPress, Битриксе или другом движке у тебя на хостинге. На Tilda, GetCourse и других конструкторах сервер держит сама платформа, и обновлять PHP там - ее работа. Заявлений этих платформ о дыре я не нашел. Сайт на конструкторе - напиши в их поддержку и спроси прямо.
Хостингу ты платишь за место под сайт на сервере и вспоминаешь про него, когда приходит счет.
На Reddit под новостью появился вопрос, который задал бы почти любой эксперт:
«How do I know if I'm running PHP?» (перевод: как понять, есть ли у меня вообще PHP?)
Ответ зависит от того, где живет сайт.
| Где сайт | Кто обновляет PHP | Что сделать тебе |
|---|---|---|
| WordPress или Битрикс на обычном хостинге | хостинг | узнать версию и спросить хостинг |
| Отдельный сервер (VPS) | ты или подрядчик | обновить самим |
| Tilda, GetCourse, Taplink | платформа | спросить поддержку |
VPS - отдельный виртуальный сервер: его настраивает сам владелец. Beget, например, прямо написал клиентам: на обычном хостинге все обновил сам, а на VPS обновлять PHP нужно самостоятельно.
Сайт на конструкторе от тебя почти не зависит. Минус у этого тоже есть: когда платформа ложится, сделать ничего нельзя. Что делать, если легла платформа и оплаты не проходят, - в разборе про GetCourse и Prodamus.
Где искать хостинг, если сайт делал подрядчик?
Коротко: хостинг ищи в счетах и письмах: компания, которой ты платишь за место под сайт, и есть хостинг. Если оплачивает подрядчик, попроси у него название хостинга и доступ к панели. Логин от панели должен лежать и у тебя. Без него ни проверить сайт, ни сменить версию PHP не получится.
22 октября в сообществе r/Wordpress написал сотрудник одной компании. У них три сайта на WordPress, один из них - интернет-магазин. Автор поста признается, что в технике не разбирается.
«Our IT guy is on vacation without a laptop.» (перевод: наш айтишник в отпуске и без ноутбука.)
Знакомо.
Самый толковый ответ в той ветке был короткий: это в основном работа хостинга, а найти хостинг можно по счетам и письмам от него.
«Non-technical version... this is mostly your hosting company's job.» (перевод: если без техники, это в основном работа твоего хостинга.)
Открой почту и поищи «хостинг», «продление», «hosting», «оплата сервера». В письмах будет название компании и, скорее всего, адрес панели.
А если сайт оплачивает подрядчик?
Тогда письмо ему, одной строкой: «Где стоит мой сайт и как мне попасть в панель хостинга?». Нормальный подрядчик ответит на это в тот же день.
И пароль от панели после этого запиши к себе, а не только в переписку с подрядчиком.
Хочешь доход с ИИ, который не держится на хостинге и айтишнике в отпуске? В ролике ниже способы заработка оценены для тех, у кого нет команды.
Как узнать версию PHP за пять минут
Коротко: версию PHP видно в двух местах. В WordPress - в разделе «Здоровье сайта», на вкладке с информацией о сервере. В панели хостинга - в настройках сайта, рядом с выбором версии. Если ни там, ни там не нашлось, спроси поддержку хостинга: для них это быстрый вопрос.
Чтобы понять, задела ли тебя уязвимость PHP, нужен номер версии. Начни с админки WordPress (страницы управления сайтом), если сайт на нем.
- Зайди в админку сайта.
- В меню слева открой «Инструменты», затем «Здоровье сайта».
- Перейди на вкладку «Информация» и разверни раздел «Сервер».
- Найди строку с версией PHP и перепиши номер целиком, со всеми цифрами после точек.
На вкладке «Состояние» WordPress иногда сам пишет, что версия PHP устарела и ее надо обновить, с пометкой «Безопасность». Менять тут ничего нельзя. По справке WordPress, этот экран только показывает информацию.
Вторая дорога - панель хостинга. У Timeweb версия стоит в разделе «Сайты»: шестеренка у нужного сайта, блок «Настройки версии и кодировки». У REG.RU в панели ispmanager - раздел «Сайты», двойной щелчок по домену, поле «Версия PHP (CGI)».
В справках иногда советуют создать на сайте служебный файл с командой phpinfo. Этот путь пропусти (такой файл потом легко забыть на сайте). Панель и поддержка дают тот же номер.
Версия старая - значит, сайт уже дырявый?
Коротко: не обязательно. Версии, где уязвимость PHP закрыта, - 8.2.35, 8.3.36, 8.4.27, 8.5.12 и все, что новее. Но хостинги ставили заплатки, то есть исправления, и на старые версии, а номер версии после такой заплатки часто остается прежним. Поэтому одной цифры в панели мало: письменно подтвердить, что исправление стоит, должен сам хостинг.
«PHP 8.1 and older no longer receive updates from the PHP project.» (перевод: PHP 8.1 и более старые версии больше не получают обновлений от проекта PHP.)
Но для 7.4, 8.0 и 8.1 команда PHP все-таки выложила заготовки исправлений, из которых хостинг может сделать заплатку сам. Ондржей Сура, который ведет популярные сборки PHP для серверных систем Debian и Ubuntu, 21 октября выпустил заплатки сразу для 12 линеек PHP, пишет Хабр. Линейка - все версии с одним началом, например 8.2.
Часть хостингов этим воспользовалась.
«мы обновили все версии PHP доступные пользователям. От самых старых до безопасных версий и сняли все временные ограничения.»
Только по панели этого не видно.
«the version number can stay the same even after the fix... so ask the host to confirm the cve fix itself» (перевод: номер версии может остаться тем же и после исправления, так что проси хостинг подтвердить само исправление.)
| Что в панели | Что это значит | Что делать |
|---|---|---|
| 8.2.35, 8.3.36, 8.4.27, 8.5.12 и выше | исправление стоит | ничего срочного |
| 8.2-8.5, номер ниже | заплатки нет или номер не сменился | спросить хостинг |
| 8.1 и ниже | обновлений от проекта PHP нет | спросить хостинг, планировать 8.2+ |
Линейка 8.2 тоже доживает: по данным php.net, ее поддержка кончается 31 декабря 2026 года. Переходи сразу на 8.3 или 8.4.
Что написать хостингу, чтобы получить ответ?
Коротко: хостингу задай два главных вопроса: какая версия PHP стоит на сайте и установлены ли исправления от 21 октября. Попроси ответить письменно, в чате поддержки или по почте. Если поддержка отвечает общими словами или вообще не понимает, о чем речь, это тоже ответ. Съезжай с такого хостинга, когда пожар потушишь.
Один из владельцев сайтов в r/smallbusiness на Reddit написал, что хостинг присылает автоматические письма про «критическое обслуживание» без единой детали. Спросить у хостинга версию PHP напрямую - до той ветки такой мысли у автора комментария не было (обсуждение в r/smallbusiness).
Бывает смешнее.
«When I contacted my host they asked me to send them a link to the announcement» (перевод: на мое обращение хостинг попросил прислать ему ссылку на объявление.)
Мерку для ответа дал автор поста в r/smallbusiness:
«If they can't answer clearly, that's your answer.» (перевод: если внятно ответить не могут, это и есть ответ.)
Malwarebytes советует то же самое, только официальнее.
«Попросите своего хостинг-провайдера или IT-специалиста подтвердить, что исправления PHP установлены»
Вот письмо, которое можно отправить как есть. Подставь адрес сайта.
Здравствуйте! Мой сайт: <адрес сайта>.
1. Какая версия PHP сейчас стоит на этом сайте?
2. Установлены ли исправления уязвимостей PHP от 21 октября 2026 года (CVE-2026-109618 и CVE-2026-109619)?
3. Если версия 8.1 или более ранняя: поставлена ли на нее заплатка и на какую версию вы советуете перейти?
4. Есть ли у вас свежая резервная копия сайта и как ее восстановить?
Прошу ответить письменно. Спасибо!
Номера в скобках - официальные имена этих дыр, хостинг их поймет. Четвертый вопрос - на случай, если обновление что-то сломает.
Поставить плагин безопасности и выдохнуть?
Коротко: дыра сидит в самом PHP на сервере, а плагин, то есть дополнение, живет внутри сайта. Эту дыру закрывает только исправленная версия PHP на сервере: плагин безопасности и обновление WordPress до нее не достают. Плагины обновлять все равно нужно: у них свои дыры, и одну из них в октябре уже ломали.
Первое желание после такой новости - поставить плагин с надписью «безопасность» и выдохнуть.
«Updating your plugins and themes won't fix an outdated PHP runtime.» (перевод: обновление плагинов и тем не исправит устаревший PHP.)
Обновление самого WordPress тоже не поможет: дыра не в нем. Wiz пишет об этом без вариантов:
«Applying the PHP security update remains the only complete remediation.» (перевод: установить обновление безопасности PHP - по-прежнему единственное полное решение.)
И что, плагины теперь можно не трогать?
Наоборот. 8 октября компания Patchstack написала о дыре в плагине Bricksforge для WordPress и оценила ее в 10 баллов из 10. Злоумышленники загружали на сайт картинку со спрятанным внутри PHP-кодом. Входить на сайт им для этого не требовалось.
Первые попытки Patchstack заметил 7 октября, с 63 разных адресов в сети. Исправление - версия плагина 3.1.8.10.
Плагины - твоя часть: в админке раздел «Плагины», ссылка «обновить сейчас» под каждым, где она есть.
Как обновить PHP и не уронить сайт
Коротко: перед сменой версии PHP сделай резервную копию сайта. Старые темы (готовое оформление сайта) и плагины на новой версии иногда ломаются, и вместо сайта появляется белый экран. Если так вышло, верни прежнюю версию в той же панели и напиши хостингу. На Битриксе держи PHP не ниже 8.2: ниже этой версии сам Битрикс ограничил поддержку.
Страх тут понятный.
«У меня версия PHP на серверах "очень старая", апгрейдить невозможно, это утянет кучу всего»
И опасение тут не пустое. Сайт на старой теме или на коде, который писали под заказ, на новой версии PHP может не открыться совсем.
Для обычного сайта на WordPress порядок такой. Если версию меняет подрядчик, пусть идет по тем же шагам.
- Сделай резервную копию. В панели большинства хостингов есть раздел с копиями. Не нашлось - попроси поддержку.
- Если сайт делали под заказ, спроси подрядчика, переживет ли он переход на 8.3.
- Смени версию в панели хостинга: у Timeweb в «Настройках версии и кодировки», у REG.RU в поле «Версия PHP (CGI)».
- Открой главную, страницу с формой заявки и страницу оплаты. Отправь себе тестовую заявку.
- Белый экран или ошибка - верни прежнюю версию тем же способом и напиши хостингу. Так же советует и справка Timeweb.
С Битриксом проще: он сам подталкивает. С 1 февраля 2026 года поддержка его продуктов на PHP ниже 8.2 ограничена, а советует он 8.3 или выше. А именно для 8.2 и новее вышли официальные версии PHP с исправлениями PHP2Shell.
А если сайт совсем старый и обновить быстро нельзя?
Делай два дела параллельно: письмо хостингу про заплатку для текущей версии и заказ подрядчику на переход. Срок подрядчику - до 31 декабря, когда кончится и поддержка 8.2.
«Мой сайт маленький, кому он нужен»
Коротко: нужен, потому что сайты сейчас перебирают программы, и им все равно, чей сайт. 19 октября Reuters описал хакера, который с помощью ИИ-агентов пытался взломать больше 1200 сайтов. Получилось это больше чем у 100 компаний, и среди них есть небольшие. Один успешный взлом, по оценке исследователя, обходился ему примерно в 50 долларов на оплату ИИ.
Историю раскопал Снорре Фагерланд из компании NorForge. По данным Reuters, хакер запускал ИИ-агентов (программы, которые сами выполняют задачи) на открытой платформе Cairn. Целью были в основном интернет-магазины США, Канады, Австралии и Японии. Среди взломанных - производитель сельхозтехники Deere и производитель бытовой техники SharkNinja, а еще две небольшие компании, которые признали взлом сами.
По оценке Фагерланда, на всю кампанию ушло около 5000 долларов на оплату ИИ-моделей.
Больше сотни компаний за эти деньги.
«It's a new world now.» (перевод: теперь это новый мир.)
Reuters эту кампанию с PHP2Shell не связывает: она началась 25 сентября, задолго до новости о дырах. Но она показывает, как теперь выглядит атака: агенту не важно, магазин это Deere или сайт психолога на три страницы.
Для такой программы сайт с тремя страницами и формой записи - тоже сервер. Пока PHP на нем не обновлен, туда можно подсадить чужой код. Канал «Сиолошная» сформулировал это так:
«(но куча мелких и/или полузаброшенных сайтов не успеют обновиться, и их начнут ломать)»
OpenAI в своем объявлении про PHP пишет, что те же возможности ИИ помогают и нападающим быстро делать инструменты для атак.
Атакуют ли уже?
Коротко: попытки атаковать через уязвимость PHP есть, массовых взломов публично пока не подтвердили. Amazon заметил попытку атаки еще 17 октября, за четыре дня до исправлений. Йоханнес Ульрих из SANS пишет, что надежного способа взлома в открытом доступе, насколько ему известно, нет. Обновляться советуют и команда PHP, и SANS, и даже те, кто считает панику преувеличенной.
Номера дыр утекли в сеть раньше срока. По словам PHP Foundation, до этого о дырах молчали, как и положено до выхода исправления. За два дня до намеченного релиза номера всплыли, и релиз сдвинули на день раньше.
Дальше часть ведомств не стала ждать. По данным Reuters, в Нидерландах, Финляндии, Дании и Франции 21 октября отключали государственные и муниципальные сайты и сервисы - в качестве меры предосторожности.
В России, по данным РБК в пересказе Хабра, центр ФСБ по компьютерным инцидентам (НКЦКИ) потребовал от операторов критической инфраструктуры срочно обновить PHP. Тем, кто не успевает, предписано рассмотреть ограничение внешнего доступа к уязвимым серверам вплоть до их полного отключения.
Адресаты - госорганы, банки, связь, энергетика, транспорт, медицина и другие отрасли. К сайту эксперта это требование не обращено.
Amazon пишет, что его ловушка, сервер-приманка для злоумышленников, поймала попытку атаки через PHP2Shell 17 октября. Сработала бы хоть одна такая попытка на настоящем сайте, Amazon пока не знает.
Элиас Тейлор, который отдельно разобрал, почему эту дыру трудно использовать, все равно советует обновить серверы и вынес этот совет в самое начало статьи.
В каталоге CISA (американский список уязвимостей, которые уже используют в атаках) этих двух дыр на 23 октября нет.
«The vulnerability and the risk are real, even if we did not see immediate mass exploitation.» (перевод: уязвимость и риск реальны, даже если немедленных массовых взломов мы не увидели.)
Разработчики PHP 23 октября сообщили еще об одной проблеме, на этот раз в том, как PHP запоминает посетителя между страницами. Полное описание обещают вместе со следующим выпуском.
Пока дыры закрыты не у всех, письмо хостингу - самое дешевое, что можно сделать. Оно занимает пять минут. Отправь его сегодня.
Источники
- Security advisory: Critical remote code execution vulnerabilities, update now - php.net, https://www.php.net/archive/2026.php
- GHSA-w8hw-w9fx-j79w, бюллетень уязвимости на GitHub (php-src), https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w
- PHP2Shell: исследование Wiz Research, https://www.wiz.io/blog/php2shell-php-rce
- Patch the Planet: global response coordination as agents uncover critical vulnerabilities - OpenAI, https://openai.com/index/coordinated-disclosure-of-critical-vulnerabilities/
- Today's PHP security release, The PHP Foundation, https://thephp.foundation/blog/2026/10/21/todays-php-security-release-and-how-were-strengthening-php-security/
- There isn't an easy exploit for this PHP vulnerability, Элиас Тейлор, https://eliastaylor.com/noexploit/
- SANS Internet Storm Center: PHP Vulnerability Wrap-Up, https://isc.sans.edu/diary/PHP+Vulnerability+WrapUp/33450/
- Known Exploited Vulnerabilities Catalog, CISA, https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- Amazon threat intelligence о попытке атаки в ловушке MadPot, https://aws.amazon.com/blogs/security/amazon-threat-intelligence-identifies-php2shell-exploitation-prior-to-public-disclosure-in-madpot/
- Отключения сайтов в Европе, Reuters (перепечатка GMA News), https://www.gmanetwork.com/news/scitech/technology/1006729/european-gov-t-websites-go-dark-as-software-flaw-sparks-security-scramble/story/
- How one hacker used AI agents to break into over 100 company websites, Reuters (перепечатка Honolulu Star-Advertiser), https://www.staradvertiser.com/2026/10/19/breaking-news/how-one-hacker-used-ai-agents-to-break-into-over-100-company-websites/
- Хабр: «НКЦКИ при ФСБ потребовал срочно обновить PHP» (там же - обновления Ондржея Суры для 12 линеек), https://habr.com/ru/articles/1098146/
- Обсуждение PHP2Shell на Хабре, https://habr.com/ru/articles/1097362/
- Новость «Уязвимость в PHP от 21.10.2026» - Beget, https://beget.com/ru/news/2026/uyazvimost-v-php-ot-21-10-2026
- Изменение версии PHP, справка Timeweb, https://timeweb.com/ru/docs/virtualnyj-hosting/php/izmenenie-versii-php/
- Как сменить версию PHP на хостинге, справка REG.RU, https://help.reg.ru/support/hosting/php-asp-net-i-skripty/kak-smenit-versiyu-php-na-hostinge
- Site Health screen, документация WordPress, https://wordpress.org/documentation/article/site-health-screen/
- Переход на PHP 8.х в коробочных версиях Битрикс24, справка 1С-Битрикс, https://helpdesk.bitrix24.ru/open/17332020/
- Critical Unauthenticated Arbitrary File Upload Vulnerability Exploited in Bricksforge Plugin - Patchstack, https://patchstack.com/articles/critical-unauthenticated-arbitrary-file-upload-vulnerability-exploited-in-bricksforge-plugin/
- Malwarebytes Labs о PHP2Shell, https://www.malwarebytes.com/ru/blog/bugs/2026/10/php2shell-why-websites-are-going-offline-for-emergency-security-updates
- Канал «Сиолошная» в Telegram, https://t.me/seeallochnaya/4001
- Ветки r/Wordpress на Reddit: https://www.reddit.com/r/Wordpress/comments/1xbmw05/ , https://www.reddit.com/r/Wordpress/comments/1xcf1vm/ , https://www.reddit.com/r/Wordpress/comments/1xb5npo/
- Пост в r/smallbusiness, Reddit, https://www.reddit.com/r/smallbusiness/comments/1xc0x6b/
Дыра закрыта, хостинг ответил письменно. Теперь можно вернуться к деньгам: открывай ролик ниже, там есть и способы заработка с ИИ, за которые лучше не браться.