PHP2Shell (CVE-2026-109618, CVE-2026-109619): що робити власникам сайтів

21 жовтня 2026 року команда PHP випустила виправлення двох критичних вразливостей, CVE-2026-109618 і CVE-2026-109619. Разом їх називають PHP2Shell. Зловмиснику не потрібні ні логін, ні пароль. Вистачить одного спеціально складеного запиту до вашого сайту, щоб запустити на сервері свій код і забрати сайт собі. За кілька годин після виходу виправлень компанія watchTowr повідомила про спроби експлуатації обох вразливостей, а Cloudflare написала, що бачить перші атаки.

Якщо ваш сайт, інтернет-магазин чи адмінка працюють на PHP, оновлена версія PHP потрібна серверу сьогодні.

Що сталося

20 жовтня команда PHP оголосила про критичний реліз, а 21 жовтня о 14:00 UTC опублікувала виправлені версії 8.5.12, 8.4.27, 8.3.36 і 8.2.35. Сама команда PHP оцінює вразливості в 9,2 з 10 за CVSS v4.0, це критичний рівень. Одна пов’язана з тим, як PHP поводиться, коли бракує пам’яті. Друга дає змогу даним одного запиту потрапити в наступний запит, який обробляє той самий процес на сервері.

Під удар потрапляють усі способи запуску PHP на вебсервері: PHP-FPM, Apache з mod_php, php-cgi, LiteSpeed і FrankenPHP. Найнебезпечнішим команда PHP вважає Apache з mod_php. У її бюлетені описано продемонстрований експлойт: один запит без авторизації запускає атаку ще до того, як виконається код сайту.

Станом на вечір 21 жовтня жодна компанія з безпеки не повідомила про підтверджений злам. Водночас код, який нібито експлуатує ці вразливості, уже ходить мережею, і масові атаки можуть початися будь-якої миті.

Чи стосується це вас?

Пройдіться пунктами. Вистачить одного «так».

  • Сайт працює на WordPress, WooCommerce, Laravel, OpenCart, Бітрікс, Drupal, Magento чи іншій системі на PHP.
  • Компанія має адмінку, особистий кабінет клієнта або API на PHP. Бекенд мобільного застосунку теж враховується.
  • Хостинг або розробник не підтвердили вам, що PHP на сервері вже оновлено.
  • На сервері стоїть панель керування хостингом на кшталт aaPanel. Деякі панелі в день релізу оновленого PHP не випустили.
  • У вас PHP 8.1 або старіша версія.

Якщо відповідей ви не знаєте, це вже привід запитати сьогодні.

Що зловмисник може зробити з вашим сайтом

Виконання коду на сервері дає зловмиснику той самий доступ, що має сам сайт. На практиці це означає:

  • повний контроль над сайтом: зміна сторінок, нові облікові записи адміністраторів, переспрямування відвідувачів;
  • доступ до бази даних: імена клієнтів, пошта, адреси, замовлення;
  • шкідливий код або спам-сторінки на вашому сайті;
  • попередження Google у пошуку й у браузері, після якого трафік і продажі стоять, доки сайт не вичистять.

Чистка зламаного сайту може тривати дні, а іноді сайт доводиться збирати наново. Оновлення займає години.

Що зробити сьогодні

1. Дізнайтеся версію PHP. Її показує панель керування хостингом, зазвичай у розділі «Версія PHP» або «Налаштування PHP». У WordPress відкрийте «Інструменти → Здоров’я сайту → Інформація → Сервер». На Ubuntu після оновлення безпеки номер може лишитися старим, наприклад 8.3.6: Ubuntu виправляє пакет, а номер версії не змінює. Тому хостингу чи розробнику треба перевірити версію пакета.

2. Попросіть хостинг або розробника оновити PHP. Цей лист можна надіслати без змін:

Добрий день. 21 жовтня 2026 року вийшли виправлення PHP для критичних вразливостей CVE-2026-109618 і CVE-2026-109619 (PHP2Shell). Підтвердьте, будь ласка, що PHP на нашому сервері оновлено до виправленої версії (8.5.12, 8.4.27, 8.3.36, 8.2.35 або пакет дистрибутива з виправленням) і що PHP-FPM чи Apache перезапущено. Якщо у нас PHP 8.1 або старіший, повідомте, будь ласка, як ви плануєте закрити вразливість. І перевірте, будь ласка, логи сервера на ознаки експлуатації починаючи з 21 жовтня.

3. Якщо у вас PHP 8.1 або старіший, заплануйте перехід на підтримувану версію. Для 7.4, 8.0 і 8.1 команда PHP опублікувала виправлення лише у вихідному коді. Отже, комусь доведеться зібрати PHP з вихідників із цими виправленнями або перевести сайт на новішу версію.

Якщо вимкнути session.upload_progress.enabled у налаштуваннях PHP, частина шляху атаки закриється. Команда PHP прямо пише, що безпечним сервер це не робить. Вважайте це тимчасовим заходом до оновлення.

Ваша версія і що робити

Ваша версія PHPЩо робити
8.5Оновити до 8.5.12
8.4Оновити до 8.4.27
8.3Оновити до 8.3.36
8.2Оновити до 8.2.35. Підтримка 8.2 закінчується 31 грудня 2026 року, тож плануйте наступне оновлення
8.1, 8.0, 7.4Офіційного оновлення немає. Зібрати PHP з виправленнями з вихідників або перейти на підтримувану версію
7.3 і старішіВиправлення від команди PHP немає. Перейти на підтримувану версію

Ubuntu вже випустила виправлені пакети. Для інших дистрибутивів Linux дивіться бюлетень безпеки свого постачальника.

Як ми закрили це в наших клієнтів

PHP2Shell (CVE-2026-109618, CVE-2026-109619): що робити власникам сайтів

Команда PHP опублікувала виправлення о 14:00 UTC. Наші інженери взялися до роботи приблизно за годину. Ще за дві години, близько 17:00 UTC, були закриті всі сервери, які ми обслуговуємо: 88 проєктів на нашій підтримці.

На кожному сервері ми спершу вимикали вразливий механізм, потім ставили виправлений PHP. У панелях на кшталт aaPanel оновленого PHP у день релізу не було, тому ми збирали PHP з вихідників із виправленнями. Так само вчинили з проєктами на PHP 7.4, 8.0 і 8.1, які команда PHP більше не оновлює. Після оновлення переглянули логи серверів, шукаючи сліди використання вразливості. Не знайшли.

Наш автоматичний моніторинг працює цілодобово, а інженери реагують, коли він фіксує інцидент.

Як ми це робили, крок за кроком: як ми закрили 88 PHP-проєктів за три години.

Не впевнені, що ваш сайт захищено?

Перевіримо версію PHP і оновимо її протягом одного робочого дня. Якщо сайт працює на PHP 8.1 або старішому, підкажемо, що у вашому випадку швидше й дешевше: збірка з виправленнями чи перехід на нову версію.

Попросити нас перевірити сайт

Якщо після цього потрібна постійна підтримка, зазирніть на сторінки підтримки сайтів і підтримки серверів. Для магазинів на WordPress і WooCommerce у нас є окрема сторінка. Якщо підозрюєте, що хтось устиг зайти до оновлення, або хочете знати, що ще у вас відкрито, на це відповість тест на проникнення.

FAQ

Чи треба оновлюватися, якщо сайт на WordPress?

Так. WordPress працює на PHP, а вразливість сидить у самому PHP. Оновлення WordPress і плагінів її не закриває, серверу потрібна виправлена версія PHP.

Хостинг оновить PHP сам?

Одні провайдери оновлюють, інші чекають, а на багатьох VPS і виділених серверах PHP ніхто не чіпатиме, доки ви не попросите. Попросіть у провайдера письмове підтвердження з точною версією.

Чи зламається сайт після оновлення?

Оновлення в межах однієї гілки, наприклад з 8.3.x до 8.3.36, містить лише виправлення безпеки й помилок і на сайт впливає рідко. Перехід з 7.4 або 8.1 на новішу гілку може зламати старі плагіни чи код, тому такий перехід спершу треба протестувати.

Чи достатньо вимкнути session.upload_progress?

Ні. Це закриває частину одного зі шляхів атаки. Команда PHP пише, що проблему розв’язує лише оновлення.

Джерела

Розкажіть про свій проєкт

Опишіть задачу кількома рядками. Протягом одного робочого дня ми відповімо з запитаннями або першою оцінкою обсягу й вартості.

Зручніше написати листа чи зателефонувати?

welcome@revolsource.com
+38 097 662 23 20

Revol Software OÜ, Таллінн, Естонія. Наша команда розподілена по всьому світу.

Приєднуйтеся до нашої команди

Надсилайте резюме на career@revolsource.com