21 октября команда PHP выпустила экстренные обновления для двух критических уязвимостей: CVE-2026-109618 и CVE-2026-109619 («PHP2Shell»). Тогда главный вопрос заключался в том, как быстро вы сможете установить патч. Спустя неделю вопрос изменился: были ли вы атакованы за это время, и что может сделать злоумышленник после взлома PHP? 4 дня — атаки фиксировались ещё до выхода патчей, 50 000+ запросов на эксплуатацию отслежено TU Delft, 600+ / 70 IP-адресов / стран, 8 новых записей в CISA KEV на этой неделе, 4 из которых — серверное ПО.
Что произошло с 21 октября
-
Атаки начались ещё до выхода патчей. Согласно отчётам (в частности, Amazon Threat Intelligence), эксплуатация началась примерно за четыре дня до релиза исправленных версий. Данные ханипотов позже подтвердили успешные попытки, например, против Apache с mod_php на
PHP 8.4.26. - CISA подтвердила это 26 октября. Обе уязвимости PHP внесены в каталог Known Exploited Vulnerabilities (KEV) с дедлайном до 29 октября для федеральных агентств США. В списке не указано, сколько именно продакшен-систем было фактически взломано.
- Масштаб велик. Лаборатория анализа угроз TU Delft, по имеющимся данным, отследила более 50 000 запросов на эксплуатацию с более чем 600 IP-адресов в 70 странах. Один из исследователей обнаружил признаки эксплуатации для CVE-2026-109618, но не нашел для CVE-2026-109619, так что на практике они не одинаково опасны. В любом случае устанавливайте патчи для обеих.
- Ранние сообщения об «успешных взломах» отчасти были преждевременными. Будьте осторожны с цифрами скомпрометированных серверов: точных данных пока нет ни у кого.
Новое: от PHP до root
28 октября CISA добавила CVE-2026-46300 — уязвимость ядра Linux под названием «Fragnesia». Это локальное повышение привилегий (LPE) в коде ESP-in-TCP ядра, которое позволяет непубличному пользователю изменять кэш страниц файлов, доступных ему только для чтения. Публичный код эксплойта, по имеющимся данным, нацелен на кэшированную копию /usr/bin/su , поэтому следующий запуск этой программы выполняет код атакующего с правами root.
В записи CISA говорится, что эта уязвимость может связываться в цепочку с двумя уязвимостями PHP для внедрения веб-шелла и выполнения команд с правами root. В этом и заключается суть для администраторов серверов: сам по себе PHP2Shell даёт злоумышленнику права пользователя веб-сервера. В связке с уязвимостью ядра уязвимый сервер — это не просто дефейс сайта, а полностью захваченная машина вместе со всеми остальными сайтами и секретами на ней.
CISA не уточняет, насколько широко используется эта цепочка, а в записи указывается, что использование в атакх с программами-вымогателями (ransomware) неизвестно. Уязвимость ядра была раскрыта в мае и затрагивает ядра, собранные до 13 мая 2026 года, поэтому многие регулярно обновляемые серверы уже содержат исправление. Серверы, которые никогда не перезагружаются, его не имеют.
Это разовый случай?
Нет. CISA добавляет в среднем по 8 записей в неделю (от 3 до 14 с августа). Необычно на этой неделе то, что четыре из восьми — это ПО, запускаемое на вашем собственном сервере: дважды PHP, ядро Linux и GitLab. Каталог является хорошим бесплатным списком раннего предупреждения. Я публикуют каждую новую запись на отдельной странице с указанием того, что нужно проверить: активно эксплуатируемые уязвимости.
Проверка за 15 минут
1. PHP: какая версия запущенна и в каком виде? Исправления внесены в 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Веб-сервер и командная строка могут использовать разные версии PHP.
php -v
php-fpm -v 2>/dev/null || ls /usr/sbin/php-fpm*
apachectl -M 2>/dev/null | grep -i php # mod_php
Подробности для Plesk, Synology, shared-хостинга и Docker находятся в руководстве по патчингу. Если вы не можете пропатчить систему сегодня, обходное решение через php.ini снизит риски.
2. Ядро: установлено и запущено ли исправление? Просто установить недостаточно — новое ядро начнёт работать только после перезагрузки.
uname -r
# Debian / Ubuntu
apt list --upgradable 2>/dev/null | grep -i linux-image
[ -f /var/run/reboot-required ] && cat /var/run/reboot-required
# RHEL / Alma / Rocky
dnf updateinfo list security | grep -i kernel
needs-restarting -r
Бюллетень безопасности вашего дистрибутива для CVE-2026-46300 содержит версию пакета с исправлением. Я не привожу здесь номера версий ядер, так как они отличаются в зависимости от дистрибутива.
3. Не можете перезагрузиться прямо сейчас? Временные меры. В отчётах рекомендуется заблокировать модули esp4 , esp6 и rxrpc . Это нарушит работу IPsec и AFS. Сначала проверьте, используете ли вы их:
lsmod | grep -E 'esp4|esp6|rxrpc'
ip xfrm state | head
# only if you do NOT use IPsec/AFS:
printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' | sudo tee /etc/modprobe.d/block-esp.conf
sudo modprobe -r esp4 esp6 rxrpc
4. Ищите веб-шеллы. Недавно изменённые файлы PHP в корневых каталогах веб-сервера и типичные однострочные шеллы:
find /var/www -name '*.php' -mtime -10 -ls 2>/dev/null
grep -rlE '(eval|assert|system|passthru|shell_exec)[[:space:]]*\([[:space:]]*\$_(POST|GET|REQUEST|COOKIE)' /var/www 2>/dev/null
Легитимные обновления также отобразятся в первом списке, поэтому внимательно изучите его, а не просто посчитайте количество строк. Для проверки уязвимости ядра убедитесь, что системные бинарные файлы не были изменены ( dpkg -V util-linux на Debian и Ubuntu, rpm -V util-linux на RHEL). Вывод должен быть пустым. Перезагрузка или обновление ядра очищают повреждённый кэш страниц; в отчётах также упоминается сброс кэша ( echo 3 | sudo tee /proc/sys/vm/drop_caches ) после применения защитных мер.
Если вы что-то обнаружили
Относитесь к этому как к компрометации системы, а не просто как к файлу, который нужно удалить. Веб-шелл вместе со сплоитом ядра мог дать права root. Изолируйте сервер, сохраните логи и дамп диска для анализа, восстановитесь из чистой резервной копии, смените все секреты, которые находились на машине (пароли к БД, API-ключи, SSH-ключи, файлы .env ), и установите патчи до того, как машина снова выйдет в онлайн.
Что бы я сделал сегодня
- Пропатчил бы PHP везде, включая PHP для CLI, задач cron и контейнеров.
- Установил бы обновление ядра и запланировал перезагрузку. Патч ядра, ожидающий «следующего окна обслуживания» — это открытая дверь на сервере, который уже атакуют через PHP.
- Проверил бы логи вплоть до 17 октября, а не до дня установки вашего патча.
-
Ограничил бы возможности PHP:
disable_functionsдляexec,system,passthru,shell_execтам, где приложению они не требуются, и изолированные пулы для каждого сайта. Это не заменяет патч, но усложняет построение цепочки атак.
Источники: Recorded Future, BleepingComputer, SOC Prime и Catalog Known Exploited Vulnerabilities CISA. Данные актуальны на 30 октября 2026 года; цифры взяты из процитированных отчётов и ленты CISA и могут изменяться.
Изначально опубликовано на daniele-michelin.com. Больше руководств, бесплатные проверки (SPF, TLS, заголовки) и справочник сообщений об ошибках: daniele-michelin.com/en/.
Комментарии (0)
Пока нет комментариев — будьте первым.