PHP2Shell: активная эксплуатация уязвимостей ядра PHP в 2026

· ·

PHP2Shell: активная эксплуатация уязвимостей ядра PHP в 2026

PrimeCoder · 2026 · формат: news

Что произошло, почему это важно и что взять в работу.

Обновление PHP перестало быть задачей из бэклога: RCE без авторизации на 70% сайтов уже эксплуатируют, а в рунете обновлён лишь каждый пятый крупный сайт.

Связанные услуги: каталог, AI Boost Team, стать клиентом.

Короткий вердикт до всех деталей

Уязвимости в ядре PHP получили имя PHP2Shell и идентификаторы CVE-2026-109618 и CVE-2026-109619. Обе в теории дают выполнение произвольного кода на сервере без авторизации. Патчи вышли 21 октября 2026 года. Подтверждённые атаки с работающими эксплойтами начались 25 октября. Между этими двумя датами у бизнеса было ровно четыре дня, чтобы не оказаться в списке пострадавших.

Главная цифра недели не про уязвимость. Она про нас. В рунете по состоянию на 25 октября только каждый пятый сайт из TOP 10 000 точно работал на исправленной версии PHP. Пять тысяч страниц, рейтинги, корзины, личные кабинеты — и 80% из верхушки списка сидели на дырявом ядре в момент, когда эксплойты уже гуляли по сети.

По состоянию на 25 октября в рунете только пятая часть веб-сайтов из TOP 10 000 точно работала на исправленной версии PHP.

Это уже не история про безопасников в крупных корпорациях. PHP — это язык, на котором работает заметная часть SMB-сайтов, интернет-магазинов на готовых движках, самописных админок и внутренних систем, которые «пока трогать нельзя, там же всё работает».

Как разворачивались события

Хронология здесь важнее любых рассуждений, потому что она показывает: у рынка не было времени на раскачку.

ДатаЧто произошло
за 4 дня до публичного раскрытияAmazon фиксировала попытки эксплуатации уязвимостей PHP2Shell
20 октября 2026разработчики PHP анонсировали патчи
21 октября 2026вышли обновления для поддерживаемых веток PHP 8.2–8.5 и для неподдерживаемых 7.4, 8.0, 8.1; предложены частично работающие меры противодействия
23 октября 2026CrowdStrike сообщила об объективных сложностях с использованием проблемы в реальных атаках
25 октября 2026подтверждены атаки с работающими эксплойтами; в рунете на исправленной версии — пятая часть сайтов из TOP 10 000

Обратите внимание на асимметрию. Анонс 20 октября, релиз 21-го. Ожидания были настолько пессимистичными, что всерьёз обсуждался сценарий атаки в течение 15 минут после выхода патча. В ряде стран на этом основании превентивно отключили сайты государственных сервисов. Не «усилили мониторинг», не «написали регламент» — выключили.

А массовой бойни в первые часы не случилось. 23 октября появились оценки, что эксплуатация упирается в объективные сложности. Кто-то на этом выдохнул и вернулся к своим задачам. Через два дня, 25 октября, эксплуатация подтвердилась вживую.

Обе уязвимости в теории обеспечивают возможность выполнения произвольного кода на сервере без авторизации.

Слово «теории» в этой формулировке не означает «не страшно». Оно означает ровно то, что написано: код исполняется на сервере, без логина и пароля. Что именно исполняется — зависит от того, кто первым успел.

Почему окно между патчем и эксплойтом схлопнулось

Раньше у админа была хоть какая-то фора. Патч вышел — есть неделя-две, пока исследователи и злоумышленники разберутся, как именно ломать. Сейчас этой форы нет.

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

Отсюда и решение отключать госсайты превентивно. Это не паника, это арифметика. Когда разрыв между «вышел патч» и «есть рабочий эксплойт» измеряется часами, единственный надёжный способ избежать последствий — не дать запросу дойти до уязвимого кода.

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

Масштаб: 70% сайтов и очень разная скорость реакции

Уязвимость затрагивает около 70% веб-сайтов. Не 70% сайтов на PHP — а 70% сайтов в целом, потому что PHP стоит под огромной частью интернета, от самописных лендингов до корпоративных порталов и интернет-магазинов.

И вот здесь вылезает знакомая картина. Крупные компании с выделенной командой и процессами в целом обновились. Те, у кого сайт живёт на стороне подрядчика или хостера, часто даже не знают, какая версия PHP крутится на их виртуальном сервере. А кто-то сознательно сидит на 7.4 или 8.1, потому что «на новой версии движок падает, давай потом».

Разработчики PHP в этот раз поступили честно: патчи вышли и для неподдерживаемых 7.4, 8.0, 8.1. Формально эти ветки давно не получают обновлений, но дыру в них закрыли. Это подарок для тех, кто застрял в легаси. Подарок с коротким сроком годности: дальше эти ветки снова останутся без патчей, а следующий PHP2Shell никто не отменит.

Отдельный слой — те, кто обновился «примерно». Поставили патч на основной сайт, но забыли про тестовый стенд, старый поддомен, форум на том же сервере или CRM-ку, которая крутится в контейнере с восьмилетним образом. Ядро PHP одно на всю машину, и обновить его надо везде.

Это не только про сайты

Самая недооценённая часть инцидента. Патчи нужны не только веб-серверам.

  • Готовые системы хранения данных, где PHP вшит в веб-интерфейс управления.
  • Серверное ПО вроде Unraid и Nextcloud — то есть домашние и офисные облака, которые в SMB часто держат на себе файлы, доступы и бэкапы.
  • Любые внутренние панели, вики, таск-трекеры и админки на PHP, которые никто не считает «сайтом» и поэтому не включает в периметр обновлений.

То есть вопрос не в том, взломают ли ваш лендинг. Вопрос в том, окажется ли через захваченную админку доступ к файлам, к резервным копиям, к учётным данным.

Неделя вообще получилась плотной на неприятности, и это хороший фон для понимания масштаба. Критическая уязвимость с оценкой 10 нашлась в GitLab (CVE-2026-110264, компонент Regular Expression Compiler, позволяет выполнять произвольный код). Индийский удостоверяющий центр eMudhra нагенерировал промежуточные сертификаты на приватных ключах длиной от 3 до 8 бит вместо положенных 384 — после чего свернул деятельность как УЦ. В nginx закрыли критические уязвимости. У Broadcom нашлась дыра 16-летней давности в роутерах для провайдеров. Ни одна из этих историй не отменяет главную: если у вас есть свой PHP-сервер, вы уже в зоне риска, а не «где-то рядом».

Что взять в работу на этой неделе

Список короткий. Сделать его надо не «в порядке приоритета», а целиком, потому что первые три пункта — это полчаса работы.

  1. Узнать реальную версию PHP. Не со слов подрядчика, а по факту: посмотреть вывод версии на самом сервере или запросить подтверждение у хостера письменно. Нужны патчи для 8.2–8.5, а также для 7.4, 8.0, 8.1.
  2. Составить список всего, где есть PHP. Основной сайт, поддомены, тестовые окружения, внутренние панели, Nextcloud, Unraid, СХД с веб-мордой. Всё, что не в списке, — не обновится само.
  3. Обновить ядро, не только CMS. Обновление движка сайта без обновления PHP не закрывает CVE-2026-109618 и CVE-2026-109619. Это разные слои.
  4. Если обновиться прямо сейчас нельзя — использовать меры противодействия. Разработчики их предложили, но они работают частично. Это не замена патчу, это отсрочка. Планируйте обновление с конкретной датой, а не «после релиза».
  5. Посмотреть логи за 20–25 октября. Попытки эксплуатации фиксировались ещё до публичного раскрытия. Если что-то стучалось — вы об этом узнаете только из логов WAF и веб-сервера.
  6. Проверить 7.4 / 8.0 / 8.1 на горизонте. Патч закрыл текущую дыру, но ветка остаётся вне поддержки. Это технический долг с процентами.

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

Вердикт

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

Здесь нельзя обещать, что патч даёт стопроцентную защиту: эксплуатация зависит от конфигурации, от того, какие расширения включены, от того, что стоит перед сервером. Замеров под ваш конкретный стек ни у кого нет. Но обратное утверждение верно без оговорок: сервер без патча при работающем эксплойте — это открытая дверь, и вопрос только в том, заметили ли её.

Четыре дня рынку дали. Один из пяти сайтов в топе рунета этим воспользовался. Остальные, судя по всему, ждали, что обойдётся. Как показывает практика, не обходится — просто иногда счёт приходит позже, когда вы уже забыли, из-за чего шум был.

Проверьте версию. Прямо сейчас. Это дешевле, чем разбираться с последствиями на следующей неделе.

Читайте также