PHP2Shell — критичні вразливості PHP дозволяють захопити вебсервери (2026)
Дві критичні вразливості PHP під назвою PHP2Shell (CVE-2026-109618, CVE-2026-109619) дозволяють зловмисникам виконувати код на вебсерверах без входу в систему. Виправлення вийшли 21 жовтня 2026 року — атаки почалися на кілька днів раніше.
Що це за загроза?
21 жовтня 2026 року проєкт PHP випустив екстрені оновлення безпеки для двох критичних вразливостей у самій мові PHP, які отримали назву PHP2Shell:
Обидві вразливості оцінено в 9,2 з 10 (критичні). Разом вони дають змогу віддалено виконувати код без автентифікації: зловмисник, який може надіслати вебзапит до вразливого сервера, потенційно здатен запускати на ньому власні команди — без пароля, без облікового запису й незалежно від коду самого сайту.
PHP працює на величезній частині інтернету, зокрема WordPress, Drupal, Joomla, Magento, застосунки на Laravel, а також безліч інтернет-магазинів і клієнтських порталів. Palo Alto Networks нарахувала понад 22 мільйони доступних з інтернету інсталяцій PHP, які потенційно вразливі.
Хронологія
| Дата | Подія |
|---|---|
| 17 жовтня 2026 | Пастки-ханіпоти Amazon фіксують першу спробу експлуатації — за чотири дні до публічного розкриття |
| 21 жовтня 2026 | PHP публікує бюлетень безпеки та випускає версії 8.5.12, 8.4.27, 8.3.36 і 8.2.35 |
| 21 жовтня 2026 | Упродовж години починається масове сканування інтернету; щонайменше один європейський уряд превентивно вимикає свій сайт |
| 22 жовтня 2026 | Cloudflare повідомляє про мільйони спроб атак |
| 23 жовтня 2026 | PHP попереджає про пов'язану проблему нижчого ризику (CVE-2026-115560) за нетипових налаштувань сесій; виправлення вийде в наступному плановому релізі |
Кого це стосується?
Під загрозою будь-яка інсталяція PHP, що обробляє вебзапити: Apache mod_php (найризикованіший варіант), PHP-FPM, php-cgi, LiteSpeed чи FrankenPHP, а також Docker-контейнери з власним PHP.
| Версія PHP | Статус |
|---|---|
| 8.5 до 8.5.12 | Вразлива — оновіть до 8.5.12 |
| 8.4 до 8.4.27 | Вразлива — оновіть до 8.4.27 |
| 8.3 до 8.3.36 | Вразлива — оновіть до 8.3.36 |
| 8.2 до 8.2.35 | Вразлива — оновіть до 8.2.35 |
| 7.4, 8.0, 8.1 (підтримку завершено) | Вразливі — офіційного релізу немає; лише пакети дистрибутивів або бекпорти вихідного коду |
| 7.3 і старші | Вразливі — виправлення не буде; потрібне оновлення |
Дистрибутиви Linux отримали виправлення заздалегідь, тож оновлені пакети доступні через звичайні системні оновлення. Деякі постачальники переносять виправлення без зміни номера версії — перевірте бюлетень безпеки свого дистрибутива.
Як зловмисники це використовують
Дослідники зазначають, що створити надійний експлойт складніше, ніж очікували спершу, і багато спроб невдалі — але за мільйонів спроб щодня неоновлені сервери рано чи пізно буде зламано.
Чому це важливо — навіть якщо у вас немає сервера
Якщо у вас є особистий блог, сайт малого бізнесу чи інтернет-магазин на спільному хостингу, він майже напевно працює на PHP. Захоплені сайти використовують, щоб:
Як відвідувач ви не можете оновити чужий сервер — але можете помічати ознаки того, що знайомий сайт зазнав втручання.
Контрольний список тривожних ознак
Для власників сайтів:
sh, bash) або невідомі програмиДля відвідувачів сайтів:
Як себе захистити
- Негайно оновіть PHP до 8.5.12, 8.4.27, 8.3.36 або 8.2.35 (чи до виправленого пакета вашого дистрибутива), після чого перезапустіть усі воркери PHP і вебсервер
- Якщо ви на спільному хостингу чи керованому WordPress, попросіть провайдера письмово підтвердити встановлення виправлень PHP2Shell
- Якщо ви використовуєте PHP 8.1 чи старіший, сплануйте перехід на підтримувану версію вже зараз — 7.3 і старші ніколи не отримають виправлення
- До встановлення оновлення обмежте публічний доступ до сайту та тимчасово встановіть session.upload_progress.enabled=0 — це знижує ризик, але не усуває його
- Розмістіть сайт за брандмауером вебзастосунків (WAF), який повністю перевіряє великі запити; провідні постачальники вже випустили правила проти PHP2Shell
- Складіть перелік усіх серверів, образів контейнерів і внутрішніх інструментів на PHP, почавши з систем, доступних з інтернету
- Як відвідувач, оновлюйте браузер і ніколи не встановлюйте «оновлення» чи «засоби захисту», які пропонує спливне вікно на сайті
Що робити, якщо постраждали
- 1.Якщо підозрюєте злам, вимкніть сайт або закрийте публічний доступ до нього, перш ніж розслідувати
- 2.Спершу оновіть PHP, потім шукайте веб-шели, незнайомі PHP-файли, нові облікові записи адміністраторів і невідомі заплановані завдання (cron)
- 3.Перевірте, чи процеси вебсервера або PHP запускали оболонки чи невідомі програми, і проаналізуйте вихідні з'єднання сервера
- 4.Якщо не можете підтвердити, що сервер чистий, відновіть його з резервної копії, зробленої до 17 жовтня 2026 року
- 5.Змініть усі паролі та ключі, що зберігаються на сервері: облікові дані бази даних, API-ключі, адмін-акаунти CMS і доступи до хостингу
- 6.Якщо дані клієнтів могли бути скомпрометовані, виконайте обов'язки щодо повідомлення про витік (наприклад, 72-годинний строк за GDPR у ЄС)
- 7.Повідомте про інцидент національну команду реагування (наприклад, CERT-UA в Україні, BSI у Німеччині, CERT.at в Австрії)