Категории
PHP2Shell и не только: что нового в мире уязвимостей
23.10.2026 | из категории: Безопасность
На этой неделе интернет слегка потряхивало — и на это были причины. Если вы держите сайт на PHP (а кто его не держит?), то у меня для вас есть и плохие новости, и хорошие. Плохие: уязвимость критическая и её уже пытались эксплуатировать. Хорошие: патчи вышли, и если вы обновились (как мы на днях), то всё в порядке.
А ещё ниже — короткий список того, что происходило в мире безопасности за последние дни, без глубокого погружения, просто чтобы вы были в курсе.
PHP2Shell: что это и почему все всполошились
CVE: CVE-2026-109618 и CVE-2026-109619
Оценка: CVSS 9.2 из 10 (критическая)
Суть: удалённое выполнение кода без аутентификации
Если коротко: злоумышленник может отправить на ваш сервер специально сформированный HTTP-запрос и заставить PHP выполнить произвольный код. При этом ваш код приложения (будь то WordPress, самописный блог или «Hello World») вообще не участвует в процессе. Дыра находится в самом движке PHP, на уровне обработки запросов и управления памятью .
Как именно взламывают
Обе уязвимости относятся к классу ошибок работы с памятью, но пути немного разные:
- CVE-2026-109618 (через нехватку памяти): Атакующий отправляет запрос (например, с
multipart/form-dataбольшого объёма), который вызывает в PHP состояние Out-of-Memory. В момент аварийного завершения обработки внутренние структуры данных остаются в «полусобранном» состоянии. PHP пытается корректно завершить запрос, но обращается к повреждённой памяти — и если атакующий подготовил там нужные данные, выполнение уходит в его пользу . - CVE-2026-109619 (через «застрявшее» состояние): Здесь работает глобальное состояние PHP, которое может остаться после освобождения памяти запроса. Следующий запрос, попавший на тот же worker-процесс, использует эти «остатки» до того, как они будут корректно сброшены. Атакующий отправляет несколько запросов подряд, добиваясь нужной последовательности .
На практике исследователи уже видели реальные попытки эксплуатации. В запросах встречались маркеры вроде PHP_SESSION_UPLOAD_PROGRESS и специальные multipart-boundary, а на сервер после успешной атаки скачивался бинарник — вариант ботнета Mirai, адаптированный под 64-битные серверы .
Кого касается
Все, кто запускает PHP для обработки веб-запросов: PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP, LiteSpeed. Уязвимы версии 8.2 ниже 8.2.35, 8.3 ниже 8.3.36, 8.4 ниже 8.4.27, 8.5 ниже 8.5.12. Ветки 8.1 и старше официально не поддерживаются, но для них тоже выпустили минимальные патчи в исходниках .
Коротко: что ещё шумело в мире уязвимостей
- Критично Magento / Adobe Commerce (CVE-2026-103849, CVSS 10.0) — максимальная оценка, RCE без аутентификации. Под угрозой более 100 тысяч интернет-магазинов. Сансек предупреждает о возможных автоматизированных атаках .
- Критично GitLab (CVE-2026-97229, CVSS 10.0) — исправлена уязвимость, позволявшая неаутентифицированному атакующему выполнить код .
- Высокий ConnectWise Cloud Backup — компрометация учётных данных OAuth-приложения затронула более 160 арендаторов Microsoft 365. Атакующие использовали доверенную интеграцию для доступа к почте, OneDrive и SharePoint .
- Высокий Siemens Software Center (CVE-2026-110936) — DLL sideloading, уже эксплуатировалась в кампаниях ClickFix для доставки RAT .
- Средний UpdraftPlus / UpdraftCentral (WordPress) — компрометация ключей remote management использовалась для установки бэкдор-плагинов на сайты WordPress. Если у вас есть этот плагин — проверьте ключи и обновитесь .
- Средний AOMEI Backupper — атакующие модифицировали файлы на серверах обновлений в течение коротких окон (5–10 минут), чтобы заразить только тех, кто попал в этот интервал .
Если вы дочитали до этого места — вы молодец. Главный вывод простой: обновляйте PHP и не откладывайте на «потом». В случае с PHP2Shell «потом» может наступить быстрее, чем вы перезапустите сервис.
А если у вас Raspberry Pi или небольшой сервер — apt --only-upgrade install 'php8.x-*' и systemctl restart php8.x-fpm занимают меньше минуты. Мы уже сделали.