Агентство CISA 26 жовтня 2026 року додало дві критичні вразливості PHP — CVE-2026-109618 та CVE-2026-109619, відомі під загальною назвою PHP2Shell, — до каталогу Known Exploited Vulnerabilities (KEV). Обидві вразливості дають змогу виконати довільний код на сервері без автентифікації та оцінені у 9.2 за CVSS v4.0 (9.8 за CVSS v3.1, згідно з бюлетенем Arista). З огляду на те, що PHP використовується приблизно на 69% вебсайтів із відомою серверною мовою (за даними W3Techs), масштаб потенційного впливу є величезним. Патчі доступні з 21 жовтня — оновлення PHP є пріоритетною дією для всіх уражених організацій. Ми вже докладно розбирали ці вразливості раніше; ця стаття фокусується на підтвердженні активної експлуатації та нових деталях.
Технічні деталі вразливостей
Обидві вразливості належать до класу CWE-416 (Use After Free) і зачіпають ядро PHP, але експлуатують різні механізми:
- CVE-2026-109618 — пов’язана з некоректною обробкою ситуації нестачі пам’яті (OOM). Коли виникає OOM, PHP використовує
longjmp()для виходу з поточного контексту, але внутрішні дані запиту можуть залишитися в частково ініціалізованому стані. Подальша процедура очищення запиту звертається до цієї неініціалізованої пам’яті, що відкриває шлях до виконання коду. - CVE-2026-109619 — експлуатує застарілий глобальний стан, який продовжує посилатися на вже звільнену пам’ять запиту. Наступні запити, оброблені тим самим робочим процесом, можуть прочитати цей застарілий стан до його повної переініціалізації.
Згідно з офіційним бюлетенем безпеки PHP, уражені всі версії PHP нижче 8.2.35, 8.3.36, 8.4.27 та 8.5.12. Гілки 8.1 і старші більше не отримують офіційних оновлень від проєкту PHP, хоча дистрибутиви Linux можуть надавати бекпортовані виправлення.
Залежність ризику від серверної конфігурації
Важливий нюанс, який часто випускають з уваги в оглядах: ступінь уразливості суттєво залежить від використаного серверного API (SAPI). Згідно з даними з GitHub-бюлетенів PHP, конфігурації відрізняються за рівнем ризику:
- Apache mod_php — найуразливіша конфігурація. Експлуатація можлива до виконання коду застосунку, оскільки mod_php безумовно викликає процедуру завершення запиту навіть у разі збою на етапі ініціалізації.
- PHP-FPM — у разі збою ініціалізації дочірній процес завершується, однак окремий шлях експлуатації через застарілий стан сесій підтверджений за умови, що запити зловмисника потрапляють до одного й того самого робочого процесу.
- php-cgi, FrankenPHP, LiteSpeed — також зазначені проєктом PHP як уражені конфігурації.
Ця залежність від SAPI означає, що оцінка ризику має враховувати конкретну архітектуру розгортання, а не лише версію PHP.
Масштаб загрози
За даними трекера Censys, значна кількість PHP-сервісів в інтернеті продовжує працювати на вразливих версіях (вихідний матеріал наводить оцінку більш ніж у 32,51 мільйона сервісів, однак у доступному тексті трекера Censys ця цифра напряму не підтверджена).
Масштаб реакції індустрії безпрецедентний: бюлетені безпеки випустили десятки великих вендорів, включно з Broadcom, Citrix, Dell, F5, Ivanti, Okta, QNAP, Synology, Veeam, WordPress, а також виробники промислового обладнання — Schneider Electric, Siemens, Rockwell Automation, Moxa та Hitachi Energy. Це свідчить про те, що вразливості зачіпають не лише вебзастосунки, а й вбудовані системи керування, NAS-пристрої та корпоративне програмне забезпечення.
Додаткова загроза: CVE-2026-111497 у бібліотеці Brotli
Паралельно з PHP2Shell 26 жовтня PHP Foundation випустив оновлені Windows-збірки (8.5.12-1, 8.4.27-1, 8.3.36-1, 8.2.35-1), що усувають CVE-2026-111497 — вразливість запису за межі буфера в бібліотеці декомпресії Brotli. Згідно з описом релізу Brotli v1.2.1, ця вразливість також допускає віддалене виконання коду. У PHP на Windows вразливий декодер доступний через розширення cURL за увімкненої автоматичної декомпресії HTTP-відповідей (типово вимкнена, але може бути активована застосунками та HTTP-клієнтськими бібліотеками), як вказує PHP Foundation.
CVE-2026-111497 також внесена до каталогу CISA KEV з кінцевим терміном усунення 10 листопада 2026 року. Раніше ми детально розбирали цю вразливість, включно з її впливом на Node.js, Bun, Python, Envoy Proxy та .NET.
Рекомендації
Згідно з офіційною позицією проєкту PHP, оновлення — єдиний повноцінний спосіб усунення вразливостей PHP2Shell. Зміни конфігурації (такі як встановлення memory_limit=-1 або вимкнення відстеження завантаження сесій) знижують окремі вектори атаки, але не забезпечують повного захисту.
- Негайно оновіть PHP до версій 8.2.35, 8.3.36, 8.4.27 або 8.5.12 (доступні на php.net).
- Для Windows-збірок — встановіть версії з суфіксом «-1» (8.5.12-1, 8.4.27-1, 8.3.36-1, 8.2.35-1), які додатково усувають CVE-2026-111497.
- Для PHP 8.1 і старших — гілки не отримують офіційних оновлень. Перевірте, чи надає ваш дистрибутив бекпортовані виправлення; якщо ні, потрібна міграція на підтримувану гілку.
- Пріоритизуйте сервери з mod_php — ця конфігурація є найуразливішою та допускає експлуатацію до виконання коду застосунку.
- Перевірте бюлетені вендорів для всіх продуктів, які використовують PHP як вбудований компонент (NAS-пристрої, системи керування, корпоративні платформи).
Кінцевий термін усунення для федеральних агентств США щодо PHP2Shell — 29 жовтня 2026 року, щодо CVE-2026-111497 — 10 листопада 2026 року. Для комерційних організацій ці строки слід розглядати як орієнтир пріоритетності: внесення до каталогу KEV означає підтверджену активну експлуатацію, і кожен день затримки збільшує поверхню атаки. Оновіть PHP на всіх доступних з інтернету серверах у першу чергу, потім — на внутрішніх системах з урахуванням використаного SAPI та наявності вбудованих PHP-компонентів у сторонньому програмному забезпеченні.











