DEV Community

TechNotes
TechNotes

Posted on

Сбои из-за уязвимостей PHP: кого затронула проблема и как защитить сервер

PHP2Shell: ИИ нашёл критические уязвимости в PHP. Что случилось и что делать

21 октября 2026 года в Нидерландах перестали открываться Overheid.nl, MijnOverheid.nl и DigiD. Первый сервис был государственным порталом, второй служил личным кабинетом гражданина, третий отвечал за вход в госуслуги. Причиной стали критические уязвимости PHP: проблема касалась не CMS и не кода конкретного сайта.

Финляндия отключила часть государственных сервисов, МВД Франции закрыло свои сайты. Фонд Викимедиа остановил многие сервисы, а Internet Archive ненадолго закрылся целиком. 1С-Битрикс ограничил облачный Битрикс24, назвав это «осознанная крайняя мера».

НКЦКИ при ФСБ разослал операторам критической информационной инфраструктуры письмо с рекомендацией срочно обновить PHP. Если обновление невозможно, предлагалось ограничить серверный доступ, а полное отключение серверов оставить крайней мерой.

Ошибка позволяла читать память и запускать код

Уязвимости получили номера CVE-2026-109618 и CVE-2026-109619 и оценку 9,2 из 10 по CVSS 4.0. При нехватке памяти во время запроса во внутреннем состоянии PHP мог оставаться мусор. Следующий запрос использовал остаточные данные процесса.

Это открывало два сценария без авторизации: чтение чужой памяти и выполнение серверного кода. Риск не зависел от логики сайта: по словам Wiz, уязвимым мог оказаться даже «Hello World».

Проблема затронула PHP 5.4 до 8.5.11 при работе через Apache с mod_php, PHP-FPM, FPM, CGI, LiteSpeed и FrankenPHP. Обновление WordPress или Битрикс само по себе не закрывает уязвимость.

Исправления нужно ставить по ветке PHP

Исправленные выпуски 8.5.12, 8.4.27, 8.3.36 и 8.2.35 вышли 21 октября. Для PHP 7.4, 8.0 и 8.1 доступны исправления исходного кода, а также могут быть пакеты от дистрибутивов и сторонних сборщиков. Для PHP 7.3 и старше официального исправления нет.

Владельцу сайта стоит действовать последовательно:

  • проверить фактическую версию PHP сайта;
  • обновить исправленную сборку своей ветки;
  • перезапустить все процессы PHP;
  • если обновиться нельзя, закрыть сервер от интернета;
  • после обновления проверить признаки взлома и сменить секреты.

Механика связана с memory_limit, ограничением памяти одного запроса. Превышение memory_limit аварийно прерывает запрос с ошибкой «Allowed memory size exhausted». Это защитная функция каждого сервера, но критическим оказался момент остановки: PHP записывал отметку перед размещением данных, а нехватка памяти могла возникнуть между записью и размещением.

После аварийного завершения отметка сохранялась. Последующая очистка PHP обращалась к несуществующим данным и могла затронуть память другого владельца.

Нейросети ускорили исследование, но не работали полностью сами

Первое обнаружение датируется 1 августа: исследователь Calif Райан Остин работал с GPT-5.6 Sol. Независимые исследования провели Wiz с Gemini 4 Argon и Wiz Atlas, а также OpenAI. Источником гипотезы стало исследование 2004 года.

Нейросеть ускорила поиск уязвимостей и сборку рабочих эксплойтов, но не была полностью автономной. Calif, компания «красных команд» для ИИ, начала аудит PHP 30 июля. Несколько путей выполнения кода нашли 1 августа, а хеш находки Райана Остина опубликовали в X 5 августа: такой хеш фиксирует приоритет без раскрытия сути.

Первую уязвимость разработчикам PHP передали 11 августа, рабочий эксплойт, 14 августа. PHP подтвердил работу эксплойта 15 августа, а вторую уязвимость Calif передала 21 августа. Работа велась в рамках программы OpenAI Patch the Planet, которая ищет уязвимости открытого кода и предоставляет сильные модели OpenAI исследователям безопасности.

Широкое распространение PHP усилило последствия

В заголовках встречалась формула «70 % интернета». PHP остаётся языком большинства сайтов вне конструкторов. Его создал датско-канадский программист Расмус Лердорф в 1994 году, первоначально для домашней страницы Расмуса Лердорфа; затем появились восемь крупных версий PHP.

На PHP работают WordPress, Drupal, Joomla, «1С-Битрикс», MODX, OpenCart, Magento и MediaWiki. Википедия работает на MediaWiki. Также PHP используют phpMyAdmin, Roundcube, Nextcloud и множество панелей управления. По оценке Reuters, WordPress занимает около 40 % сайтов мира, а Facebook начинался как PHP-сайт в 2004 году.

Расмус Лердорф, создатель PHP, в 2014 году. Фото: William Stadtwald Demchick, CC BY-SA 4.0

Номера уязвимостей утекли за сутки до релиза. Amazon фиксировал попытки атак 17 октября, а Cloudflare подсчитал миллионы попыток эксплуатации за первые сутки. По данным watchTowr, сетевые эксплойты тогда не работали, однако появление рабочих вариантов оставалось вопросом времени.

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

Текст подготовлен с использованием искусственного интеллекта.

Top comments (0)