Клієнт php-vulnerability-audit — аудит, оновлення й захист від PHP2Shell
Роль Solo Security Engineer / DevOps
Період Oct 2026
Стек
PHP 5.4–8.5 mod_php PHP-FPM Apache Nginx Linux Docker WordPress OpenCart Joomla Laravel Cloudflare WAF ModSecurity
php-vulnerability-audit — аудит, оновлення й захист від PHP2Shell preview

php-vulnerability-audit — аудит, оновлення й захист від PHP2Shell

Огляд

21 жовтня 2026 року команда PHP випустила екстрені релізи для двох критичних вразливостей віддаленого виконання коду в самому інтерпретаторі, CVE-2026-109618 і CVE-2026-109619 («PHP2Shell», знайдені Wiz Research). Помилка не в CMS чи плагіні: під ризиком будь-який сайт на вразливому PHP, хоч би яким чистим був його власний код, а зачеплені версії аж до PHP 5.4.

Послуга: знайти, де в інфраструктурі працює вразливий PHP, довести його до виправленої версії (або до безпечного проміжного стану), підтвердити виправлення з боку вебу й перевірити, чи сервер уже не зачепили. Для сайтів на WordPress, OpenCart, Joomla, Laravel і самописному PHP, на VPS, виділеному сервері, шерингу чи в Docker.


Виправлені версії

Гілка PHP Виправлена версія (21 жовтня 2026)
8.5 8.5.12
8.4 8.4.27
8.3 8.3.36
8.2 8.2.35
8.1 і старіші Оновлень від проєкту PHP немає. Для 7.4, 8.0 і 8.1 є мінімальні бекпорти в сирцях; частина дистрибутивів і LTS-вендорів випускає власне виправлення. Інакше: міграція на підтримувану гілку

Офіційне повідомлення PHP пряме: повних обхідних заходів немає, безпечний вибір один — оновлення.


Що входить

Крок Що робиться
Інвентаризація Кожен сервер, VPS, хостинг-акаунт, Docker-образ і CI-раннер, що обробляє PHP, і який web SAPI він використовує (mod_php, PHP-FPM, CGI, LiteSpeed, FrankenPHP). Advisory оцінює mod_php як найризиковіший, бо експлойт може спрацювати ще до запуску коду застосунку
Перевірка версії Версія, яку реально віддає веб, а не лише php -v у шелі: CLI і web SAPI часто різні збірки. Порівняння з виправленими версіями вище
Оновлення Виправлений реліз; або бекпорт вендора (Ubuntu, Debian, AlmaLinux, CloudLinux, cPanel, Plesk); або міграція на PHP 8.3 / 8.4 з перевіркою сумісності CMS, плагінів і самописного коду спершу на staging-копії
Тимчасові заходи Лише коли оновлення не можна випустити сьогодні, і лише заходи з advisory PHP: session.upload_progress.enabled=0 у php.ini чи пулі FPM (не через ini_set() чи .user.ini), fatal_error_backtraces=0 на PHP 8.5, невеликий post_max_size, memory_limit там, де застосунки не можуть його змінити. Плюс правило WAF чи allow-list IP для критичного сайту. Фіксується як тимчасове
Перевірка результату Перезапуск усіх PHP-воркерів, повторна перевірка версії з боку вебу, smoke-тест сайту та його оформлення замовлення чи форм
Перевірка на компрометацію Логи на ознаки, опубліковані Wiz: multipart-запити з наступними помилками memory limit, повторні HTTP 500, завеликі або некоректні cookie PHPSESSID, «перезапуски» PHP-воркерів. Порівняння файлів із чистими ядрами CMS. Якщо експозиція ймовірна: ротація паролів БД, API-ключів, токенів і сертифікатів, адже одна з вразливостей може розкривати пам’ять воркера

У логах застосунку може бути майже нічого, бо вразливості лежать нижче рівня застосунку. Тому чистий лог не вважається доказом чистого сервера: перевірка — це набір дій, а не гарантія.


Як це відбувається

Потік PHP2Shell: інвентар, перевірка версії, ризик, оновлення, тимчасові заходи, перевірка, логи й ротація секретів

  1. Інвентар і перевірка версій. Список усіх хостів із версією PHP і SAPI, які вони реально віддають.
  2. Ризик і план. Хости впорядковані за експозицією; для кожного маршрут: оновлення, бекпорт вендора або міграція.
  3. Оновлення на staging, потім у проді. Для магазинів і сайтів із самописним кодом оновлення спершу відпрацьовується на копії; перемикання робиться у тихе вікно.
  4. Перевірка та огляд. Воркери перезапущені, версія повторно перевірена з вебу, логи переглянуті, секрети змінені там, де треба.
  5. Короткий звіт. Хости, версії до і після, що змінено, що лишилося (наприклад, PHP за межами підтримки, якому потрібна планова міграція).

Якщо сайт уже зламано, лікування описане в site-security-cleanup; якщо перехід на новий сервер чи версію PHP треба зробити без простою, дивіться zero-downtime-migration.


Джерела


Стек

PHP 5.4 – 8.5 · mod_php · PHP-FPM · Apache · Nginx · LiteSpeed · Linux (Ubuntu / Debian / AlmaLinux) · Docker · WordPress · OpenCart · Joomla · Laravel · Cloudflare WAF · ModSecurity · Fail2ban