🔥 Сбой века в PHP: как уязвимость PHP2Shell ломает интернет

Пока весь мир обсуждает новости о превентивных блэкаутах правительственных сайтов в Европе, давайте разберем, что на самом деле произошло с PHP на техническом уровне (CVE-2026-109618 и CVE-2026-109619) и почему ИИ оказался умнее людей.

👨‍🍳 Суть бага «на пальцах» Представьте, что PHP-воркер на сервере — это повар в ресторане, а оперативная память — разделочный стол.

Подготовка: Приходит хитрый клиент (хакер) и заказывает 10-тонный торт. У повара кончается лимит памяти (memory_limit). У него паника. Баг: Вместо того чтобы выбросить мусор и протереть стол, повар в ужасе бросает всё как есть и убегает (экстренный выход через longjmp()). На столе остаются «грязные» структуры данных. А хакер заранее знал это и оставил в этом мусоре записку-инструкцию. Взлом: На смену приходит второй повар (следующий HTTP-запрос к сайту). Он видит грязный стол, натыкается на записку хакера и из-за архитектурного сбоя думает: «О, это указание от предыдущего мастера!». И выполняет её (например, отдает хакеру ключи от базы данных).

🤖 Как это нашли? Самое ироничное, что баг в коде замечали еще в 2024 году, но тогда ИБ-сообщество посчитало, что раскрутить такую сложную цепочку условий для реального взлома человек физически не сможет. Но летом 2026 года в рамках проекта «Patch the Planet» эксперты из Calif и Wiz натравили на ядро PHP нейросети. ИИ смог математически просчитать идеальный эксплойт и за пару секунд без паролей взломал дефолтные сборки WordPress и Drupal.

📈 Как это повлияло на мир прямо сейчас? 20 октября инфа утекли в сеть, и начался хаос. Из-за простоты RCE-атаки админы крупных корпораций и министерств в Нидерландах, Бельгии и Дании решили не рисковать и превентивно погасили свои PHP-серверы, повесив статичные заглушки, пока не накатят обновления. Под угрозой оказались абсолютно все популярные CMS.

🛡 Как закрыли уязвимость? Разработчики из PHP Foundation экстренно выпустили патчи (8.2.35, 8.3.36, 8.4.27, 8.5.12). Они сделали две вещи: 1- Обязали PHP принудительно и до конца доводить очистку памяти при панике из-за memory_limit. Никаких «записок» на столе не остается. 2- Ввели жесткую изоляцию: теперь перед обработкой нового запроса воркер полностью зануляет глобальное состояние памяти.

Если вы админите или пишете на PHP — бегом обновлять интерпретатор или хотя бы временно гасите session.upload_progress.enabled в php.ini.

📩 Пишите в ЛС — помогу с обновлением, настрою защиту или перенесу проект на React/Next.js & Headless CMS.

https://thephp.foundation/blog/2026/10/21/todays-php-security-release-and-how-were-strengthening-php-security/

🔥 Сбой века в PHP: как уязвимость PHP2Shell ломает интернет | Сетка — социальная сеть от hh.ru