ИИ нашёл в PHP уязвимость, которая затрагивает 70% сайтов

Модели GPT-5.6 Sol и Gemini 4 Argon помогли найти в PHP две критические уязвимости под общим именем PHP2Shell. Через них можно запустить свой код на сервере без пароля, а затронуты почти все версии языка за последние десять лет. Исправления вышли 21 октября, в тот же день начались первые атаки.
ИИ нашёл в PHP уязвимость, которая затрагивает 70% сайтов

На PHP работают WordPress, Drupal, Joomla, интернет-магазины на  OpenCart и сайты на «1С-Битрикс». По оценке исследователей из Wiz, это около 70% всех сайтов в мире. Обе уязвимости PHP2Shell сидят в ядре самого языка, поэтому проблема касается любого сайта на уязвимой версии PHP, какой бы движок на нём ни стоял.

PHP2Shell открывает сервер без пароля

Атака на PHP2Shell выглядит так. Злоумышленник отправляет на сайт специально собранный запрос, и PHP посреди его обработки упирается в лимит памяти. Запрос обрывается аварийно, но часть служебных данных остаётся в памяти. Следующий запрос подхватывает эти остатки, и атакующий получает возможность выполнить на сервере свои команды.

Вход в админку, учётная запись и пароль для этого не нужны. Исследователи Wiz показали такой взлом на WordPress, Drupal и Joomla. Вторая часть проблемы — утечка памяти процесса. В ней могут лежать пароли, токены, ключи API и сертификаты из чужих запросов.

Уязвимостям присвоены номера CVE-2026-109618 и CVE-2026-109619 с оценкой опасности 9,2 из 10. Команда PHP перечисляет среди затронутых все популярные способы запуска, включая PHP-FPM, Apache с mod_php и LiteSpeed. Самым рискованным она называет mod_php, потому что там атака срабатывает ещё до того, как запустится код самого сайта.

Как ИИ раскопал ошибку в PHP возрастом больше десяти лет

Ошибку в PHP нашли две команды независимо друг от друга. Компания Calif участвовала в программе OpenAI Patch the Planet, где специалисты по безопасности ищут уязвимости с помощью моделей OpenAI. Calif выбрала целью PHP и с помощью GPT-5 .6 Sol нашла первую часть проблемы. Wiz пришла к той же ошибке своим путём, используя Gemini 4 Argon, GPT-5.6 Sol и собственный инструмент Wiz Atlas.

Путь до исправления выглядел так:

  • 1 августа → Calif с GPT-5.6 Sol находит первую часть ошибки
  • 19 августа → Wiz независимо находит уязвимость
  • 24 августа → отчёт уходит команде безопасности PHP
  • 21 октября → выходят исправления и публичное раскрытие

Самый старый уязвимый код Calif нашла в PHP 5.4, вышедшем в 2012 году. Сооснователь OpenAI Грег Брокман рассказал, что урезанную версию этой ошибки находили ещё в 2024 году, но тогда её не сочли серьёзной. Искусственный интеллект понадобился, чтобы связать разрозненные дефекты в рабочую атаку и подогнать её под разные версии и настройки. По словам Wiz, один исследователь с ИИ сделал за неделю то, на что раньше сильной команде понадобились бы месяцы.

Фонд PHP Foundation, который держится в основном на волонтёрах, назвал PHP2Shell одними из самых серьёзных уязвимостей за свою историю:

«Инструменты теперь находят ошибки быстрее, чем когда-либо, и защитникам, и атакующим, а число отчётов будет только расти»,

- предупредили в PHP Foundation.

Атаки на PHP2Shell начались в день выхода патча

Публичное раскрытие PHP2Shell планировали на 22 октября. Подробности утекли днём раньше, и команда PHP выпустила исправления 21 октября. Amazon заметила первую попытку атаки на свою ловушку для хакеров ещё 17 октября, за четыре дня до раскрытия.

После публикации счёт пошёл на минуты. По данным Cloudflare, за первые 45 минут на её клиентов пришли десятки тысяч попыток взлома, к вечеру 21 октября — миллионы. Palo Alto Networks насчитала в сети 22,6 млн потенциально уязвимых серверов.

Агентство национальной безопасности США выпустило редкое публичное предупреждение и посоветовало отключать сайты, которые нельзя обновить сразу. Нидерланды на время закрыли госпортал MijnOverheid и систему входа DigiD. Часть государственных сайтов отключили Франция, Германия, Финляндия, Бельгия и Чехия. Премьер-министр Японии лично призвала компании поставить обновление.

Версии PHP, в которых PHP2Shell закрыта

Исправления 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 7.4–8.1 → только заплатки в исходном коде, готовых сборок нет
  • PHP 5.4–7.3 → исправления не будет

Дистрибутивы Linux могут выпустить исправленный пакет под старым номером версии. Поэтому проверять нужно описание изменений пакета. В нём должны значиться номера CVE.

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

Первым делом стоит посмотреть версию PHP в панели хостинга и сверить её со списком выше. На обычном хостинге PHP обновляет провайдер, и его стоит прямо спросить, установлены ли исправления PHP2Shell. Старые магазины на OpenCart 2.x и ранних сборках ocStore часто работают на PHP 7.x. Для них официальной сборки с исправлением нет, остаются заплатки от хостинга или переезд на новую ветку.

Если обновиться прямо сейчас нельзя, команда PHP предлагает временные меры. Нужно выключить session.upload_progress.enabled, жёстко задать memory_limit и перезапустить все процессы PHP. Команда PHP прямо предупреждает, что это снижает риск, но полной защиты не даёт.

После обновления полезно просмотреть журналы сервера. Признаки атаки — серии ошибок 500, сообщения о нехватке памяти после странных запросов с файлами и аномально длинные cookie PHPSESSID. Если такие следы есть, пароли администраторов и ключи API лучше сменить, потому что они могли утечь из памяти.

Между патчем и атакой прошли минуты

PHP2Shell показывает новую скорость. Ошибку, которая пролежала в PHP больше десяти лет, ИИ помог найти и превратить в рабочую атаку за несколько недель. Те же модели доступны и атакующим, и первые попытки взлома пришли через минуты после публикации.

Для владельцев сайтов это меняет привычный ритм. Раньше обновление PHP можно было отложить до выходных. После PHP2Shell надёжнее, когда хостинг ставит исправления сам, а сайт не застревает на версиях, которые давно не получают обновлений.

Источник:
09:51
30
Нет комментариев. Ваш будет первым!