Репозитории php2shell на GitHub появились в течение суток после раскрытия двух уязвимостей PHP

Репозитории php2shell на GitHub появились в течение суток после раскрытия двух уязвимостей PHP

Уязвимости PHP CVE-2026-109618 и CVE-2026-109619 раскрыли 21 октября 2026 года, и в тот же день в открытом доступе появились демонстрационные эксплойты (PoC). Обе проблемы допускают удалённое выполнение кода без аутентификации, оценка CVSS v4.0 равна 9.2. Заявления авторов расходятся: одни обещают выполнение произвольных команд, другие описывают только повреждение состояния памяти. Максимальный риск создают серверы с mod_php, где обработчик подключён внутри веб-сервера.

Вслед за раскрытием на GitHub возникла волна репозиториев с именем php2shell. Из первых ста результатов поиска, без учёта форков, 99 касаются этих уязвимостей, и почти все созданы 21 октября. Скорость реакции показывает, насколько быстро публичные эксплойты превращаются в массовый материал. Для организаций это означает, что окно между раскрытием и первыми попытками эксплуатации сжалось до часов.

Количество репозиториев и распределение «звёзд»

Компания watchTowr сообщила, что 21 октября наблюдала попытки эксплуатации в своей сети приманок (honeypot). По её данным, затронуты могут быть все версии PHP начиная с пятой, однако этот охват официально не подтверждён. Как указано в FAQ watchTowr, на момент подготовки материала уязвимости не входили в перечень CISA KEV. Отсутствие в перечне не отменяет риска, поскольку эксплуатация не требует учётных данных.

Структура публикаций и скорость реакции

Срез репозиториев собран утилитой gitscan.Py 22 октября в 13:30, последняя активность в нём относится к 21 октября, 16:27 UTC. По назначению проекты делятся на 46 защитных и 36 наступательных. Из 1394 звёзд 1158, или 83%, приходятся на PoC, тогда как защитные собрали 148. Два лидера, ikow/php2shell-poc с 617 звёздами и репозиторий пользователя eness с 333, дают 68% всех звёзд; пятёрка самых заметных проектов закрывает 81%.

Хронология показывает, что защитные материалы появлялись раньше атакующих. Первый релевантный репозиторий с правилами обнаружения Corelight датирован 18 октября, 06:43 UTC, первый PoC появился 20 октября, 19:16 UTC. Пик создания пришёлся на 21 октября, 15:00 UTC. Один из проектов утверждает, что список индикаторов компрометации собран до публикации CVE; это может указывать на предварительный обмен данными между поставщиками средств защиты, но остаётся предположением.

Среди авторов заметны организации: часть репозиториев связана с NCSC-NL, Corelight, syhunt и учётной записью openai. По языкам преобладают Python (47 проектов) и Shell (24): на Python написаны образцы и средства аудита, на Shell сценарии смягчения для серверов. Лицензия не указана у 51 репозитория. Описания встречаются на английском, китайском, французском, русском, португальском, испанском и нидерландском; проектов на корейском не найдено.

Риски недоверенного кода и порядок действий

Качество опубликованного кода неоднородно. Из 27 PoC у 21 меньше десяти звёзд, у 61 репозитория не больше одной звезды, 29 обходятся без описания, 11 не указывают язык. Часть проектов заявляет о выполнении произвольных команд, часть воспроизводит только повреждение состояния, есть и описания неудачных попыток. Один репозиторий дословно повторяет описание ikow/php2shell-poc, что похоже на клонирование популярного проекта с изменённым кодом. Имя могли зарезервировать заранее, а код добавить позже, поэтому текущее содержимое не даёт надёжной оценки.

Для исследователей такие публикации создают отдельный риск. Вредоносное ПО уже размещали внутри поддельных PoC к громким уязвимостям, чтобы атаковать специалистов по безопасности. Сценарии смягчения несут сопоставимую опасность: часть обещает "одну строку для всех установок PHP", хотя запускается с правами root. Один инструмент прямо помечен как написанный ИИ и поставляемый без гарантий. Запуск чужого кода на рабочей станции открывает путь во внутреннюю сеть организации.

Основное решение, по официальному руководству PHP, состоит в обновлении до исправленных выпусков 8.5.12, 8.4.27, 8.3.36 и 8.2.35; поддержка ветки 8.2 близится к завершению. Для 8.1 и ниже официальных выпусков нет. PHP Security Team опубликовала в исходном репозитории минимальные исправления, перенесённые в ветки 7.4, 8.0 и 8.1 (backport), однако полноценной заменой остаётся переход на поддерживаемую версию. Приоритет отдают узлам с mod_php.

Если обновление невозможно, временно отключают параметр session.upload_progress.enabled, проверив перед этим влияние на сервисы с индикатором прогресса загрузки. Официальное руководство предупреждает: настройка закрывает лишь часть путей атаки и не заменяет исправление. Правила межсетевого экрана веб-приложений (WAF) против подозрительных составных запросов тестируют на ложные срабатывания. Для обнаружения используют правила Zeek и Suricata от Corelight и оперативные материалы NCSC-NL.

Серверы, доступные из интернета до установки исправления, проверяют на признаки компрометации: аномальные составные запросы в журналах, посторонние файлы в корневом каталоге, необычные процессы под учётной записью веб-сервера. Следы нарушения разбирают по процедурам реагирования и криминалистики (DFIR), сохраняя доказательства. Регуляторная часть не менее важна: подтверждённая утечка персональных данных требует уведомления надзорного органа и субъектов данных в сроки, заданные законом.

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

Комментарии: 0