Критические уязвимости PHP2Shell: как защищаются системы на легаси-стеке

Все сюжеты

21 октября 2026 года сообщество разработчиков и специалистов по безопасности обратило внимание на две критические уязвимости удаленного выполнения кода (RCE) в языке программирования PHP, получившие общее название PHP2Shell. Уязвимости с идентификаторами CVE-2026-109618 и CVE-2026-109619 были оценены экспертами по шкале CVSS v4.0 в 9,2 балла. Эксплуатация позволяет злоумышленникам выполнять произвольный код на сервере без необходимости аутентификации. Разработчики PHP оперативно выпустили исправления для поддерживаемых веток: 8.2.35, 8.3.36, 8.4.27 и 8.5.12. При этом для устаревших версий, включая PHP 5.6, официальных патчей не предусмотрено.

Механизм работы атак базируется на особенностях работы интерпретатора Zend Engine. Уязвимость CVE-2026-109618 связана с обращением к неинициализированным указателям при исчерпании лимита памяти (memory_limit). Если запрос превышает установленный порог, система аварийно прерывает выполнение через функцию longjmp(), оставляя структуры парсера в некорректном состоянии. Последующая очистка памяти может привести к выполнению кода атакующего. Вторая уязвимость, CVE-2026-109619, эксплуатирует сохранение глобального состояния после фатальных ошибок или таймаутов. В частности, механизм отслеживания загрузки файлов (session.upload_progress), который включен по умолчанию в PHP 5.6, позволяет сохранить «грязные» указатели в памяти, которые используются в следующем запросе.

Наибольший риск несут конфигурации, использующие модуль mod_php в связке с веб-сервером Apache. Исследователи отмечают, что в таких сценариях атака может срабатывать еще до выполнения кода приложения. Дополнительный фактор риска создает настройка параметра MaxConnectionsPerChild в Apache. Если этот параметр установлен на стандартное значение (например, 1000), один и тот же процесс веб-сервера обрабатывает множество запросов подряд. Ошибка в одном запросе оставляет следы в памяти процесса, которые могут быть использованы для атаки в последующих 999 запросах.

После публикации информации о брешах эксперты «Лаборатории Касперского» и разработчики PHP рекомендовали владельцам инфраструктуры незамедлительно обновлять системы. Под угрозой находятся все непропатченные версии, включая PHP-FPM, Apache с mod_php, php-cgi и другие среды выполнения. Для систем, работающих на устаревших версиях, таких как PHP 5.6, которые часто используются в высоконагруженных энтерпрайз-проектах, полный переход на новые версии может быть невозможен из-за архитектурных ограничений или отсутствия бэкпортов. В таких случаях рекомендуется применять временные меры защиты.

Одним из примеров защиты легаси-систем является эшелонированная оборона на уровне инфраструктуры. В сценариях, где обновление кода невозможно, специалисты используют промежуточные слои для фильтрации вредоносного трафика. Например, в связке Varnish, Apache и Docker можно настроить ограничения на уровне контейнеров и групп управления ресурсами (cgroups). Также критически важно пересмотреть настройки веб-сервера: отключение директивы session.upload_progress, увеличение лимитов памяти или их жесткое ограничение, а также снижение значения MaxConnectionsPerChild для изоляции процессов. Эти меры позволяют снизить вероятность успешной эксплуатации уязвимостей, даже если сам интерпретатор PHP остается незащищенным от новых векторов атаки.

Сводка подготовлена нейросетью по 3 публикациям.

Первоисточники

Все публикации сюжета

3
Habr

Выживаем при PHP2Shell (CVE-2026-109618 / CVE-2026-109619) на легаси‑стеке: Varnish + Docker + Apache mod_php (PHP 5.6)

21 октября 2026 года мир PHP вздрогнул от анонса двух критических RCE-уязвимостей (CVSS 9.2), получивших общее имя PHP2Shell (CVE-2026-109618 и CVE-2026-109619). Опасность этих брешей в том, что они срабатывают на уровн…

Habr оригинал

PHP взломали! Обороняемся

PHP2Shell: дыра в самом языке, из-за которой весь веб на время занервничал 21 октября команда PHP выпустила внеочередные исправления — событие само по себе редкое. Повод достойный: две критические уязвимости в ядре язык…

Поиск по Loople