Четырнадцать лет в ядре PHP лежал баг, через который можно захватить сервер без логина. Код открытый. Его читали тысячи людей. Закрытость его не прятала. Прятал объём работы: чтобы собрать рабочую цепочку, нужно было пройти по краю того, что исследователь ещё способен удержать в голове. Wiz прямо пишет: frontier-модели сделали эту цепочку реальной. Глава Chainguard Дэн Лоренц, по его словам, нашёл те же дыры за вечер запросом из пяти слов — «find bad vulnerabilities in PHP», зная только слух, что в PHP что-то готовится.

Теперь секретный баг живёт до первого слуха. Находит уже ИИ. Патчи пока пишут и утверждают люди.

PHP2Shell: две дыры с 2012 года

21 октября 2026 около 17:00 по Москве вышли PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Они закрывают CVE-2026-109618 (повреждение памяти при нехватке памяти) и CVE-2026-109619 (use-after-free). Обе — CVSS v4 9.2, удалённое выполнение кода без аутентификации. Затронуты PHP-FPM, mod_php, php-cgi, FrankenPHP и LiteSpeed; самый высокий риск у mod_php — эксплойт может сработать до кода приложения.

По Calif затронутый путь кода тянется с PHP 5.4 (2012). По W3Techs PHP стоит у 69,3% сайтов с известным серверным языком. Calif подтвердил RCE до входа в WordPress, Drupal, Joomla и Magento. Wiz показал захват WordPress, Drupal и Joomla на актуальных образах — уязвимость в самом PHP, а не в CMS.

Нашли независимо: Calif (исследователь Ryan A) с GPT-5.6 Sol в программе OpenAI Patch the Planet, сама OpenAI — оба 11 августа — и Wiz 24 августа. Признаки OOM-проблемы видели ещё в 2024 на аудите Quarkslab; исправление застряло на компромиссах совместимости. PHP Foundation называет это структурным провалом.

Раскрытие сорвалось. 20 октября около 18:00 по Москве утекли номера CVE с неверным CVSS 10; в 22:30 PHP перенёс релиз на сутки раньше. Около 23:00 Calif по ошибке выложил видео с PoC. 21 октября в 10:41 по Москве Chainguard выпустил образы с патчем больше чем на шесть часов раньше эмбарго — PHP Foundation публично это критикует.

Amazon MadPot поймал попытку эксплуатации 17 октября, за четыре дня до раскрытия, и советует начинать расследование с этой даты; насколько тот эксплойт был рабочим, AWS прямо не утверждает. Cloudflare видел атаки до релиза патча и включил WAF-правила для всех клиентов, включая бесплатный тариф. Ловушки Chainguard, по словам Лоренца, поймали атакующих с IP из Китая и России.

Уязвимость сидит в самом PHP, ниже кода приложения и CMS, поэтому затронуты WordPress, Drupal и Joomla
Уязвимость сидит в самом PHP, ниже кода приложения и CMS, поэтому затронуты WordPress, Drupal и Joomla

Власти: «отключайте, если не можете обновить»

NSA: если сразу обновиться нельзя — выведите систему из сети до полной защиты. CISA требует немедленного патча и для неподдерживаемых версий тоже советует отключить PHP-системы. NCSC в Великобритании: обновитесь, а если нет — временно снимите сервис. По Independent, в стране отключили 32 госсервиса, четыре работали частично; власти говорят, что это предосторожность, взломов не выявлено. Высказались и JPCERT, и CERT-EU.

Премьер Японии Санаэ Такаити 21 октября попросила проверить PHP, поставить патч, а если нельзя — временно остановить сайт. Текст почти дословно повторяет пост @cyber_forecast. На 22 октября у её поста около 89 млн просмотров. На следующий день она написала, что её собственный сайт тоже закрывали, а теперь снова открыт.

GitLab: CVSS 10 нашли люди, эксплойт ИИ собрал за 17 минут

CVE-2026-110264 — CVSS 10, RCE без входа во всех версиях с 7.0 (2014), закрыто в 19.5.1 и бэкпортах. Причина — целочисленное переполнение в компиляторе регулярных выражений (Onigmo). Обходного пути нет. В том же релизе ещё одиннадцать CVE: всего двенадцать (1 critical, 2 high, 5 medium, 4 low). Большинство пришли через HackerOne; часть нашли сотрудники GitLab. Это вторая CVSS 10 у GitLab за девять дней после CVE-2026-97229 от 12 октября. Самого Git это не касается. Что такое GitLab и где у него CI/CD и агентные функции — в карточке базы знаний.

Nagli из Wiz собрал рабочий heap-эксплойт за 17 минут с Gemini 4 Argon по тексту бюллетеня — без опыта в бинарной эксплуатации, по его словам.

Банки гонят чужих агентов. Точка — пускает своих

Axios 22 октября (Мэдисон Миллс): крупные банки США находят в счетах клиентов неавторизованных сторонних ИИ-агентов; часть будто действует без указаний пользователя. Банки не всегда отличают агента от человека и авторизованного агента от мошеннического. Ограничивают доступ, готовят сценарии восстановления. Morgan Stanley, по данным источников Axios, блокирует; официально банк говорит, что «агентов-мошенников» не видел. Chase просит не делиться логином. Курс отрасли — доступ только на чтение.

Предыстория той же недели: банки США, Delta, Yelp, Amazon режут сторонних агентов; Bank of America настаивает, что подтверждает человек. 14 октября Bank of America навёл около тысячи подрядчиков к примерно трём тысячам сотрудников, чтобы закрывать уязвимости, найденные Anthropic Mythos. В Индии CERT-In (CIAD-2026-0049, 15 октября) предупредил: агенты на тестировании добрались до живых систем через открытые учётные данные.

Контраст рядом: Точка Банк сама дала агентам официальный MCP — выписки, остатки, подготовка платежей через протокол, который банк контролирует. Разница в том, пускаете ли вы чужого агента под логином человека или строите отдельный канал с правами и аудитом. Про границы доступа агента я разбирал в руководстве про права и роли.

Чужой агент под логином человека или отдельный канал с правами и аудитом
Чужой агент под логином человека или отдельный канал с правами и аудитом

Атаки уже ведут ИИ-агенты

Microsoft 21 октября: Storm-0940 через цепочку поставок ConnectWise с агентным фреймворком ARTEX — больше 2250 тенантов, до 2900 попыток входа в минуту. Предыстория о том, что модели уже умеют атаковать сами, — как GPT-5.6 Sol вырвался из песочницы и взломал Hugging Face.

Straiker в тот же день: CyberCartel с CARLIY0S атаковал больше 400 финансовых организаций Латинской Америки. Четыре роли на Claude спорят, арбитр решает; пять «майнеров» на Grok собирают секреты. Запросы маскировали под пентест; при отказе моделей включали заранее заготовленный код. Anthropic отозвала ключ, xAI проверяет.

LiteLLM 1.107.0 на PyPI 21 октября с 14:39 до 16:23 по Москве: бэкдор в .pth запускается при каждом старте Python и крадёт облачные ключи, SSH, браузерные и AI-секреты. По Wiz — около 49 тысяч загрузок. Безопасная версия — 1.106.2. Сборку сделали из поддельного репозитория украденными OAuth-токенами GitHub CLI трёх инженеров. LiteLLM пишет, что токены попали в логи внутреннего развёртывания; отдельно отмечает, что Claude Code в некоторых случаях встраивает такой токен в тело ответа. Как именно атакующий вошёл во внутреннее развёртывание, команда пока не подтвердила. Про отравление инструментов и MCP см. отдельное руководство.

ИИ находит быстрее, чем люди успевают чинить

Anthropic OSS Scanner (8 октября): около 29 тысяч кандидатов, люди проверили около 6 тысяч; эксперты подтвердили 88% из 97 критических и высоких. Даниэль Стенберг (curl): одна из худших уязвимостей curl за годы. Патчи прикладываются; у wolfSSL валидны 72 из 74; PostgreSQL берёт часть почти как есть.

OpenAI проверяла патч PHP атаками моделей, выпустила навык для Codex для проверки версий PHP и выделила $1 млрд на доступ защитников к Daybreak. PHP Foundation повторяет: каждое решение принимает человек, и он же работает над каждым патчем. С 1 июля у PHP 15 CVE и больше 100 невалидных отчётов или дублей.

По данным Aakash Gupta: VirusTotal якобы видит около 758 тысяч серверов на PHP 5.4–8.1 без патчей против 272 тысяч на поддерживаемых; Microsoft закрыла 1413 уязвимостей за месяц. Эти цифры я передаю только со ссылкой на пост — независимой сверки у меня нет.

За неделю, с пиком 21 октября, волна шире PHP. Node.js: 10 CVE, среди них CVE-2026-111497 (RCE в Brotli) нашёл OpenAI Codex Security, остальные девять — люди. NGINX 14 октября: пять CVE в 1.30.6/1.31.7; на nginx.org все medium. Go 20 октября добавил блок-лист скомпрометированных CA eMudhra. Сами ключи восьми промежуточных CA eMudhra со слабой энтропией всплыли 17–20 октября: Chrome заблокировал примерно за час сорок минут после своего подтверждения, Mozilla — через OneCRL.

Находит уже машина. Чинит и утверждает — пока человек. Темп находок растёт быстрее темпа патчей.

Находки множатся автоматически, а каждый патч по-прежнему проверяет и утверждает человек
Находки множатся автоматически, а каждый патч по-прежнему проверяет и утверждает человек

Если у вас сайт на PHP

Многие сайты Рунета до сих пор крутятся на старом PHP у подрядчиков, которые давно не на связи. Цифр по доле уязвимых российских сайтов нет — не выдумываю. Что сделать владельцу сегодня:

  1. Узнать версию PHP на сервере (php -v или панель хостинга). Как я сам проверял свои серверы с Codex — в отдельной статье.
  2. Обновиться до 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12. Для 7.4–8.1 есть только минимальные бэкпорты в исходниках от PHP security team — лучше уйти на поддерживаемую ветку.
  3. Если обновить нельзя — поставить сайт за WAF или временно закрыть, как советуют NSA и CISA.
  4. Проверить логи и аномалии с 17 октября — с даты, с которой Amazon советует начинать расследование.
  5. Если в окружении был LiteLLM — проверить, не ставили ли 1.107.0, откатиться на 1.106.2 и ротировать ключи облака, SSH и токены AI-провайдеров.
  6. Для репозиториев и ключей — базовый порядок из руководства по безопасности GitHub и защита от prompt-инъекций.

Баг четырнадцать лет держался на том, что никто не хотел делать эту работу. Теперь её делает ИИ за вечер. Секретный баг больше не секрет — он живёт до первого слуха.

Следующий шаг

Если вы держите сайт на PHP или пускаете агентов к деньгам и коду, сейчас полезно сверить, кто у вас реально имеет доступ и как быстро вы можете поставить патч.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov