21 жовтня 2026 року команда PHP випустила екстрені оновлення безпеки PHP 8.5.12, 8.4.27, 8.3.36 та 8.2.35. Вони закривають дві критичні вразливості, які дають змогу віддалено виконати код без автентифікації: CVE-2026-109618 та CVE-2026-109619. Обидві мають оцінку CVSS v4.0 9.2. У медіа їх разом називають PHP2Shell.
Що сталося
Обидві вади пов'язані з тим, що PHP може залишити пам'ять у пошкодженому стані, якщо запит завершується аварійно:
- CVE-2026-109618 (GHSA-w8hw-w9fx-j79w): RCE через пошкодження пам'яті при нестачі пам'яті (OOM). Якщо запит досягає
memory_limitу невдалий момент, внутрішні дані запиту залишаються ініціалізованими лише частково. Під час очищення запиту PHP може вважати їх коректними. На Apache з mod_php атаку можна запустити неавтентифікованим запитом ще до виконання коду застосунку. За даними PHP Foundation, повне віддалене виконання коду продемонстровано з налаштуваннями за замовчуванням. На PHP-FPM RCE підтверджено через шляхи в коді застосунку. - CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp): RCE через «застарілий» глобальний стан. Фатальна помилка в невдалий момент може залишити внутрішній стан, що вказує на вже звільнену пам'ять попереднього запиту. Наступний запит у тому самому воркері може скористатися цією пам'яттю (use-after-free). Наслідки: витік даних із пам'яті, падіння воркера та виконання коду.
Кого це стосується
За словами команди PHP, під загрозою усі інсталяції PHP, що обслуговують вебзапити: PHP-FPM, Apache з mod_php, php-cgi, FrankenPHP і LiteSpeed. Найвищий ризик для mod_php.
Вразливі версії (за бюлетенем AWS):
- PHP 8.5.0–8.5.11: виправлено в 8.5.12
- PHP 8.4.0–8.4.26: виправлено в 8.4.27
- PHP 8.3.0–8.3.35: виправлено в 8.3.36
- PHP 8.2.0–8.2.34: виправлено в 8.2.35
- PHP 8.1 і старіші проєкт PHP більше не підтримує. Команда безпеки PHP опублікувала мінімальні бекпорти вихідного коду для 7.4, 8.0 та 8.1. Також перевірте оновлення від свого дистрибутива або LTS-постачальника.
Виправлення також увійшли до тестової збірки PHP 8.6.0 RC4.
Наскільки це серйозно
PHP працює на більшості сайтів у світі, зокрема на WordPress, Joomla, Drupal, Laravel і Symfony. За даними BleepingComputer, Cloudflare ще до виходу патчів фіксувала перші спроби атак і розгорнула тимчасові правила WAF. Британський NCSC закликав негайно оновитися або тимчасово вимкнути вразливі системи. Розробники PHP наголошують, що повноцінних обхідних заходів немає: надійно захищає лише оновлення.
Що робити зараз
- Перевірте версію PHP. У консолі виконайте
php -v. Для вебсервера версія може відрізнятися, тому перевірте її черезphpinfo()або на панелі хостингу. Для FPM виконайтеphp-fpm -v(або, наприклад,php-fpm8.3 -v). - Оновіться до 8.5.12, 8.4.27, 8.3.36 або 8.2.35. У Linux встановіть оновлені пакети свого дистрибутива (дистрибутиви отримали патчі заздалегідь), наприклад
apt update && apt upgradeабоdnf upgrade php*. - Перезапустіть усі воркери PHP-FPM, Apache та інших SAPI. Перезберіть і перерозгорніть Docker-образи.
- Якщо у вас PHP 8.1 або старіший, плануйте перехід на підтримувану гілку. Також зверніть увагу, що підтримка PHP 8.2 закінчується 31 грудня 2026 року.
Тимчасові заходи, якщо оновитися негайно неможливо (вони лише зменшують ризик, але не усувають його):
- Для CVE-2026-109618: задайте
memory_limit=-1черезphp_admin_value, щоб застосунок не міг змінити це значення. Зменштеpost_max_sizeдо 8M (або до 32M, якщо потрібні завантаження файлів). Обмежте розмір і складність запитів на рівні вебсервера чи проксі. - Для CVE-2026-109619: задайте
session.upload_progress.enabled=0у php.ini або в конфігурації пулу FPM і перезапустіть воркери. На PHP 8.5 також задайтеfatal_error_backtraces=0.
Джерела
- php.net: Security advisory: Critical remote code execution vulnerabilities
- The PHP Foundation: Today's PHP Security Release
- AWS Security Bulletin 2026-143-AWS
- BleepingComputer: PHP ships emergency patches for critical PHP2Shell flaws
- Canadian Centre for Cyber Security: AL26-026
Оновимо ваш проєкт на нову версію PHP
Команда CRM Go оновлює проєкти клієнтів до актуальних захищених версій PHP. Ми перевіряємо сумісність коду, оновлюємо залежності та фреймворки, тестуємо проєкт і розгортаємо оновлення без простою сайту. Якщо ви не впевнені, чи ваш сервер уже захищений від PHP2Shell, напишіть нам, і ми допоможемо.
