PHP2Shell не затрагивает статические сайты
Опубликовано · 3 мин чтения
Прослушать статью · читает голос ИИ
21 октября 2026 года команда PHP закрыла две критические уязвимости в ядре PHP, известные под названием PHP2Shell. Через них злоумышленник без входа в систему может выполнить свой код на веб-сервере – везде, где PHP отвечает на веб-запросы, например в WordPress, которому нужен PHP.
Что такое PHP2Shell
Это две уязвимости в самом PHP, а не в плагине:
- CVE-2026-109618: если во время запроса PHP не хватает памяти, часть памяти остаётся в недопустимом состоянии. Подготовленные запросы с формами могут вызвать именно это.
- CVE-2026-109619: процесс PHP хранит состояние предыдущего запроса, хотя его память уже освобождена. Следующий запрос может использовать это состояние, чтобы внедрить код.
PHP оценивает обе уязвимости в 9,2 балла из 10 по CVSS 4.0. Выполнение кода с правами веб-сервера подтверждено для Apache с mod_php, а для второй уязвимости – и для PHP-FPM. Американское агентство CISA с 26 октября относит обе к активно эксплуатируемым.
Что делать владельцам сайтов сейчас
- Обновите PHP до 8.2.35, 8.3.36, 8.4.27 или 8.5.12 – по данным PHP, это единственная полная защита – и затем перезапустите все процессы PHP.
- PHP 8.1 и более ранние версии исправления не получат: эти ветки больше не поддерживаются. Помогает только переход на поддерживаемую ветку.
- Если обновиться сегодня нельзя, временные меры из бюллетеней PHP снижают риск, но не устраняют его:
session.upload_progress.enabled=0, в PHP 8.5 дополнительноfatal_error_backtraces=0, а такжеmemory_limit=-1вместе со строгими ограничениями размера запросов на веб-сервере перед PHP. - На виртуальном хостинге обновление – дело провайдера: уточните, какая версия PHP у вас работает.
Как мы делаем сайты
Наши сайты не содержат PHP. Мы собираем их на Astro как статические: каждая страница создаётся один раз при сборке в виде готового HTML-файла, а веб-сервер – nginx за Traefik – лишь отдаёт файлы. При открытии страницы на сервере не работает никакая программа сайта, которая обрабатывала бы запрос. Уязвимостям вроде PHP2Shell здесь нечего атаковать.
- Ни PHP, ни базы данных, ни входа для администратора на веб-сервере: нет ничего, через что содержимое можно было бы изменить извне.
- Формы отправляют данные в наш собственный сервис форм, который отсеивает спам с помощью ALTCHA методом proof-of-work – без cookies и без зарубежных провайдеров CAPTCHA (как это работает). Самому сайту для этого не нужен серверный код.
- Сборка и публикация – в GitLab: каждое изменение проходит проверку типов, SEO и ссылок; публикуется только защищённая основная ветка.
- Зависимости конвейер проверяет на известные уязвимости и на их лицензии при каждом изменении и каждую неделю. Кроме того, мы еженедельно пересобираем все сайты.
- Заголовки безопасности: Content Security Policy разрешает скрипты только с собственного адреса и с двух наших сервисов – статистики посещений и сервиса форм. HSTS с
preloadтребует HTTPS, и ни один чужой сайт не может встраивать наши страницы.
Где и статическим сайтам нужен уход
Статический сайт не значит сайт без обслуживания: веб-серверу, обратному прокси и операционной системе по-прежнему нужны обновления безопасности, как и сервису форм. Но это несколько обозримых компонентов – вместо PHP, базы данных, темы и плагинов, каждый из которых может стать целью атаки.
Будем рады сделать так и ваш сайт.
Источники
- Бюллетень безопасности PHP о CVE-2026-109618 от 21.10.2026: GHSA-w8hw-w9fx-j79w – причина, CVSS 4.0: 9,2, исправленные версии, временные меры
- Бюллетень безопасности PHP о CVE-2026-109619 от 21.10.2026: GHSA-6wmf-4rv5-p3rp – причина, CVSS 4.0: 9,2, исправленные версии, временные меры
- CISA, Known Exploited Vulnerabilities: обе CVE внесены 26.10.2026 – данные в официальном репозитории cisagov/kev-data, по состоянию на 28.10.2026
- Название «PHP2Shell»: Help Net Security, 21.10.2026
- PHP: поддерживаемые версии – на 29.10.2026 ветки с 8.2 по 8.5
- WordPress: требования – рекомендуется PHP 8.3 или новее
- Astro: on-demand rendering – по умолчанию страницы создаются при сборке как статические
- Заголовки ответа esn.ge: собственный запрос 29.10.2026 (
Content-Security-Policy,Strict-Transport-Security,X-Frame-Options: deny)