Веб-розробкаE-commerce та Бізнес

Вразливість PHP2Shell: що робити власнику сайту зараз

У PHP знайшли дві критичні вразливості (CVE-2026-109618 і CVE-2026-109619), їх уже використовують в атаках. Як за п’ять хвилин перевірити версію PHP, що оновити сьогодні і що робити, якщо сайт могли зламати.

Наприкінці жовтня 2026 року в самому інтерпретаторі PHP знайшли дві критичні вразливості, і за повідомленнями дослідників їх уже використовують у реальних атаках. Вони зачіпають не якусь одну CMS, а будь-який сайт, що працює на PHP: WordPress, OpenCart, Joomla, Drupal чи самописний код. Нижче: що відомо, як за п'ять хвилин перевірити свою версію, що зробити сьогодні і що робити, якщо оновитись одразу не виходить.

Що відомо

Усе нижче взято з публікацій Patchstack і watchTowr. Це свіжі повідомлення, деталі можуть уточнюватися, тому дивіться також офіційне оголошення PHP.

  • Вразливості мають номери CVE-2026-109618 і CVE-2026-109619, обидві оцінені в 9.2 за CVSS v4.0 (критичний рівень).
  • Автентифікація зловмиснику не потрібна: достатньо надіслати сайту запит.
  • Помилка в самому PHP, а не в плагіні чи темі. Перша пов'язана з нестачею пам'яті посеред обробки запиту, друга з тим, що стан запиту лишається в пам'яті після її звільнення і потрапляє в наступний запит того ж процесу.
  • Зачеплені всі способи запуску PHP для вебу: PHP-FPM, Apache mod_php, php-cgi, LiteSpeed, FrankenPHP. За оцінкою Patchstack, найризикованіший mod_php.
  • watchTowr фіксує спроби експлуатації в мережі пасток з 21 жовтня 2026 року; Patchstack пише, що хостинг-партнери повідомляли про активні інциденти. На момент публікації CISA ще не додала ці вразливості до каталогу відомих експлуатованих.
  • За даними Wiz, які наводить Patchstack, через вразливості можна не лише виконати код, а й прочитати пам'ять процесу, де бувають паролі, токени й ключі API.

У цифрах

  • За даними W3Techs на 27 жовтня 2026 року PHP використовують 69,2% сайтів, для яких відомо мову сервера. Серед них на PHP 8 працює 65,6%, на PHP 7 26,6%, на PHP 5 7,7%. Тобто приблизно кожен третій сайт на PHP (34,4%) стоїть на версії 7 або старшій, для яких офіційних виправлень немає. Розбивки W3Techs за мінорними версіями ми не наводимо: у «вісімці» є і 8.0 та 8.1, які теж без виправлень.
  • Наш власний зовнішній вимір українських сайтів (114 сайтів, серпень-вересень 2026): 50 працюють на WordPress, WooCommerce або OpenCart, тобто на PHP. Версію PHP відкрито показують у заголовках відповіді лише 7 із цих 50. Із цих семи 6 на гілках без підтримки безпеки (5.5, 7.3 чотири сайти, 7.4), а сьомий на 8.3.33, що нижче виправленої 8.3.36.
  • Це мала вибірка, і вона показує лише тих, хто не приховує версію. Решта 43 сайти можуть бути в будь-якому стані, ззовні цього не видно. Також заголовок із версією не доводить вразливості: хостинг міг перенести виправлення в старий пакет. Тому перевіряти версію треба зсередини.

Чи зачіпає це мій сайт

Якщо сайт працює на PHP, так, якщо версія не оновлена. Виправлені версії:

Гілка PHP Безпечна версія Примітка
8.5 8.5.12 і новіші підтримується
8.4 8.4.27 і новіші підтримується
8.3 8.3.36 і новіші підтримується
8.2 8.2.35 і новіші підтримка безпеки закінчується 31.12.2026
8.1 і старші офіційного виправлення немає потрібен пакет від дистрибутива чи вендора (наприклад, CloudLinux, TuxCare, Sury) або перехід на нову гілку

Номер версії може вводити в оману: хостинг-провайдери й дистрибутиви часто переносять виправлення в старі пакети, не змінюючи номера. За повідомленнями виробників, cPanel (ea-php 7.4–8.1), CloudLinux, TuxCare і Hostinger випустили виправлені збірки й для старих гілок. Тому для 8.1 і старших дивіться не лише на номер, а й на дату збірки та журнал змін пакета (виправлення від 21 жовтня 2026 року і пізніші), і перевіряйте у хостера письмово.

Сайти на Next.js, Node.js чи статичні самі по собі не зачеплені, але на тому ж сервері часто лежить старий WordPress чи пошта з панеллю на PHP. Тому перевіряти треба сервер, а не лише основний сайт.

Як перевірити версію за п'ять хвилин

  1. У панелі хостингу (cPanel, ISPmanager, Plesk) знайдіть розділ «Версія PHP» або «PHP Selector».
  2. Якщо є SSH: php -v. Це версія для командного рядка, веб може працювати на іншій.
  3. У WordPress: «Інструменти → Здоров'я сайту → Інформація → Сервер».
  4. Звіряйте не лише мажорну гілку, а й точний номер: наприклад, 8.3.35 ще вразлива, а 8.3.36 уже ні.
  5. Пам'ятайте про піддомени, тестові копії й старі сайти на тому ж акаунті: кожен може працювати на своїй версії.

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

  1. Оновіть PHP до виправленої версії вашої гілки. На спільному хостингу це зазвичай перемикач у панелі; якщо виправленої версії там ще немає, напишіть у підтримку хостера.
  2. Перезапустіть усі процеси PHP після оновлення, інакше старий код ще працює в пам'яті.
  3. Перевірте сумісність сайту на копії. Перехід, наприклад, із 7.4 на 8.4 ламає застарілі плагіни й модулі, тому робити його одразу на бойовому сайті ризиковано.
  4. Якщо оновити неможливо одразу, зменште ризик тимчасовими мірами, які називають Patchstack і розробники PHP: вимкнути session.upload_progress.enabled, обмежити розмір і кількість полів запиту на рівні вебсервера, використати правила WAF (наприклад, Cloudflare). Це закриває лише відомі шляхи, повного захисту не дає: PHP прямо каже, що єдиний надійний шлях це оновлення.
  5. Не лишайте сайт на PHP 8.1 і старших без плану. Для них нових виправлень від PHP уже не буде.

Якщо сайт могли зламати

Вразливість діє нижче рівня застосунку, тому журнали сайту можуть нічого не показати. Тривожні ознаки: нетипові запити з великим тілом (multipart), раптові помилки 500 і нестача пам'яті, несподівані перезапуски процесів PHP, дивні або надто великі значення cookie PHPSESSID.

Якщо є підозра:

  • змініть паролі до адмінки, бази, FTP/SSH і ключі API, бо пам'ять процесу могли прочитати;
  • перевірте, чи не з'явились нові файли й адміністратори, і порівняйте файли з чистою копією;
  • відновіть з резервної копії, зробленої до 20 жовтня, і лише після оновлення PHP.

Чому «просто оновити» не завжди просто

Оновлення PHP на старому проєкті упирається в код. Старі теми, самописні модулі й плагіни без підтримки можуть не працювати на новій гілці. Тоді варіанти такі: оновити плагіни, замінити їх, виправити код або перенести сайт на сучасну платформу. Це вирішується після короткого аудиту, а не навмання.

Що можемо зробити ми

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

Власний досвід. Наш рушій інтернет-магазинів Stable ми вже переводимо на виправлену збірку: образи хмарної версії й демо зібрані на PHP 8.5.12. Сам рушій у релізі працює на Laravel 13 (він вимагає PHP 8.3 і новіший). Так само ведемо нові магазини на Laravel: беремо виправлений PHP, а не лишаємо збірку «як було». Якщо ваш магазин працює на старому PHP чи OpenCart, про перенесення на Stable Shop читайте тут.

Жоден підхід не дає стовідсоткової гарантії. Оновлення й гарденінг сильно знижують ризик, але не замінюють регулярних резервних копій і моніторингу.

Джерела: Patchstack, watchTowr, підтримувані версії PHP.

Теги

SEO

Вам сподобалась стаття?

Ваша думка допомагає нам створювати кращий контент

Поділіться з друзями

Знайшли щось корисне?

Допоможіть іншим дізнатись про це — поділіться статтею в соціальних мережах

Дякуємо, що допомагаєте нам рости

Засновник LIONEX

Владислав Чистяков

Пише про те, що робить руками: інтернет-магазини на OpenCart, застосунки на Next.js, інтеграції та швидкість сайтів. У статтях — заміри й перевірки, які читач може повторити на своєму проєкті, а не загальні поради. Комерційна розробка з 2015 року.

Питання

Часті запитання

Відповіді на популярні питання по темі

Чи зачіпає вразливість PHP2Shell мій сайт на WordPress?

Так, якщо PHP на сервері не оновлено до виправленої версії: вразливості в самому PHP, а не у WordPress чи плагіні. Безпечні версії: 8.5.12, 8.4.27, 8.3.36 і 8.2.35 та новіші.

Яка версія PHP безпечна?

Виправлення вийшли для гілок 8.5 (8.5.12), 8.4 (8.4.27), 8.3 (8.3.36) і 8.2 (8.2.35). Для 8.1 і старших офіційного виправлення немає, потрібен пакет від вендора чи дистрибутива або перехід на нову гілку.

Чи можна захиститись без оновлення PHP?

Лише частково. Тимчасові заходи (вимкнути session.upload_progress.enabled, обмежити розмір і кількість полів запиту, правила WAF) закривають відомі шляхи, але розробники PHP кажуть, що повного пом’якшення немає, а надійний захист це оновлення.

Як дізнатись, чи мій сайт зламали?

Журнали сайту можуть нічого не показати. Тривожні ознаки: незвично великі multipart-запити, раптові помилки 500 і нестача пам’яті, перезапуски процесів PHP, дивні значення cookie PHPSESSID. Якщо є підозра, змініть паролі й ключі та відновіть сайт із копії, зробленої до 20 жовтня, після оновлення PHP.

Скільки триває оновлення PHP на сайті?

Саме перемикання версії займає хвилини, але перед ним потрібна перевірка сумісності плагінів і модулів на копії. Для сучасного сайту це зазвичай день-два, для старого проєкту з самописним кодом довше. Точні строки називаємо після короткого аудиту.

Отримуйте найкращі статті на пошту

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

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

Далі в блозі

Схожі статті

Stable на Laravel 13 і PHP 8.5: що змінилось у нашому рушії магазинівВеб-розробка

Stable на Laravel 13 і PHP 8.5: що змінилось у нашому рушії магазинів

Stable, наш власний рушій інтернет-магазинів, у головній гілці вже працює на Laravel 13 і вимагає PHP 8.5. Розповідаємо, що змінилось, що ще в процесі і чого ми поки не стверджуємо.

Читати далі
Хостинг каже, що PHP оновлено: як перевірити, що це правдаВеб-розробка

Хостинг каже, що PHP оновлено: як перевірити, що це правда

Після PHP2Shell відповіді «PHP оновлено» мало: оновити могли не той сайт, лише консольний PHP або без перезапуску процесів. Чотири перевірки на п'ятнадцять хвилин і п'ять питань до хостингу.

Читати далі
Prom чи власний магазин: що ви віддаєте маркетплейсу і як порахувати це за своїми цифрамиE-commerce та Бізнес

Prom чи власний магазин: що ви віддаєте маркетплейсу і як порахувати це за своїми цифрами

Комісія від 4,2 %, 10 грн за кожне оформлене замовлення на сайті з власним доменом, а сайти на піддоменах, зареєстровані від 30.05.2025, не індексуються. Що ви платите Prom, що можна забрати з собою, що Prom і далі робить краще і як перевірити рішення за власним вивантаженням замовлень. Умови — за даними на 14.10.2026.

Читати далі