PHP2Shell: Критични уязвимости в PHP застрашават милиони уебсайтове, онлайн магазини и бизнес системи по света
- Какво представлява PHP и защо уязвимостта е толкова сериозна?
- Какво е PHP2Shell?
- Защо PHP2Shell е по-различен от обичайните уязвимости?
- Кои PHP версии са засегнати?
- Кои сървърни конфигурации могат да бъдат засегнати?
- Какви могат да бъдат последствията от успешна атака?
- Международната реакция след разкриването на PHP2Shell
- Как да проверим дали един PHP сървър е защитен?
Две критични уязвимости в PHP, идентифицирани като CVE-2026-109618 и CVE-2026-109619, предизвикаха сериозна тревога сред специалистите по киберсигурност. Проблемът, известен като PHP2Shell, може при определени условия да позволи на атакуващи да изпълняват зловреден код върху уязвими сървъри, без да разполагат с потребителско име или парола.
Ситуацията предизвика международна реакция. Организации, компании, доставчици на хостинг услуги и държавни институции започнаха спешни проверки и обновявания на своите системи.
За разлика от много други кибератаки, при които е необходимо дадено приложение да съдържа грешка в програмния си код, PHP2Shell засяга самата среда, в която се изпълняват PHP приложенията.
Това означава, че дори добре разработен и защитен уебсайт може да бъде изложен на риск, ако използва уязвима версия на PHP при условия, позволяващи експлоатацията на проблема.
Какво представлява PHP и защо уязвимостта е толкова сериозна?
PHP е един от най-разпространените сървърни програмни езици в света. Използва се за разработване на динамични уебсайтове, онлайн магазини, корпоративни приложения, системи за управление на съдържание и комплексни бизнес платформи.
Сред системите, които могат да използват PHP, са:
-
Онлайн магазини и платформи за електронна търговия.
-
CRM системи за управление на взаимоотношенията с клиенти.
-
ERP системи за управление на бизнес процеси и ресурси.
-
WMS решения за управление на складове.
-
Корпоративни портали и вътрешнофирмени приложения.
-
Системи за резервации, плащания и обработка на поръчки.
-
SaaS платформи и специализирани уеб приложения.
-
Популярни CMS платформи като WordPress, Drupal и Joomla.
Според статистически данни на W3Techs PHP се използва от приблизително 70% от уебсайтовете, за които може да бъде установен сървърният програмен език.
Това обаче не означава, че 70% от всички сайтове са уязвими към PHP2Shell.
Реалният риск зависи от конкретната PHP версия, начина на конфигуриране на сървъра, използвания модел за изпълнение на PHP и наличието на приложени актуализации за сигурност.
Въпреки това огромното разпространение на PHP обяснява защо подобна уязвимост може да има глобални последствия.
Какво е PHP2Shell?
PHP2Shell е наименованието, с което станаха известни две критични уязвимости в PHP:
CVE-2026-109618 и CVE-2026-109619.
И двете са свързани с неправилно управление на вътрешното състояние и паметта на PHP интерпретатора при определени извънредни ситуации.
Уязвимостите са оценени с висока степен на критичност — CVSS 9.2 от максимално възможни 10 точки.
При успешно използване те могат да доведат до Remote Code Execution (RCE), или изпълнение на код от разстояние.
Това е една от най-опасните категории софтуерни уязвимости.
Ако атакуващ успее да изпълни произволен код в контекста на уеб сървъра, той потенциално може да получи достъп до информация, да модифицира файлове, да инсталира зловреден софтуер или да използва компрометираната система като отправна точка за последващи атаки.
Степента на възможния контрол зависи от правата на процеса, изолацията на приложението и допълнителните механизми за сигурност.
CVE-2026-109618 — проблем при обработка на извънредни ситуации
Първата уязвимост е свързана с неправилно възстановяване на вътрешното състояние на PHP при прекъсване на изпълнението.
При определени обстоятелства PHP може да прекрати текущата операция поради критична грешка, например недостиг на памет.
В подобна ситуация интерпретаторът трябва да прекрати изпълнението безопасно и да възстанови необходимите вътрешни структури.
Откритият проблем позволява при специфични условия това възстановяване да бъде непълно.
В резултат могат да останат некоректни стойности или указатели, които да повлияят на последващи операции.
Този клас проблеми е особено опасен при сървърни процеси, които обработват множество HTTP заявки през своя жизнен цикъл.
CVE-2026-109619 — използване на невалидно вътрешно състояние
Втората уязвимост също засяга управлението на паметта и вътрешното състояние на PHP.
При определени сценарии интерпретаторът може да продължи работа с данни или структури, чието състояние вече не е валидно.
Подобни грешки могат да доведат до нестабилност, сривове или при подходящи условия — до изпълнение на непредвиден код.
Особено тревожен е фактът, че проблемите могат да възникнат на ниво PHP runtime, а не непременно в програмната логика на конкретния уебсайт.
Защо PHP2Shell е по-различен от обичайните уязвимости?
При стандартна уязвимост в уеб приложение атакуващият обикновено се възползва от конкретен пропуск в неговия код.
Примери са SQL Injection, Cross-Site Scripting (XSS), неправилно управление на потребителски права или небезопасно качване на файлове.
При PHP2Shell проблемът е на по-ниско технологично ниво — в самия PHP интерпретатор.
Това създава няколко съществени риска.
Уязвимостта не зависи непременно от грешка в приложението
Един проблем може да засегне множество приложения
На един физически или виртуален сървър често работят десетки уебсайтове и бизнес системи.
Ако те използват една и съща уязвима среда, рискът може да се разпростре върху значителна част от обслужваната инфраструктура.
Възможни са атаки без предварителна автентикация
При определени конфигурации и условия атакуващият може да не се нуждае от съществуващ потребителски акаунт.
Това увеличава риска за публично достъпните приложения.
Проблемът може да засегне критични бизнес процеси
Когато PHP обслужва ERP, CRM или електронна търговия, последствията могат да надхвърлят обикновеното временно спиране на уебсайт.
Възможно е да бъдат засегнати поръчки, доставки, складови операции, клиентски данни, финансови документи и интеграции с външни системи.
Кои PHP версии са засегнати?
След публичното оповестяване на проблема бяха публикувани актуализации за поддържаните версии на PHP.
| PHP версия | Поправена версия | Статус |
|---|---|---|
| PHP 8.5 | 8.5.12 | Налична официална поправка |
| PHP 8.4 | 8.4.27 | Налична официална поправка |
| PHP 8.3 | 8.3.36 | Налична официална поправка |
| PHP 8.2 | 8.2.35 | Налична официална поправка |
| PHP 8.1 и по-стари | Зависи от доставчика | Необходима е проверка за backport |
Особено внимание заслужават по-старите версии на PHP, които вече не получават стандартни актуализации от официалния PHP проект.
Въпреки това някои доставчици на Linux пакети продължават да предоставят поправки за сигурност и за по-стари версии.
Този подход се нарича backporting.
Какво означава backport на поправка?
Backport представлява пренасяне на конкретна корекция за сигурност от по-нова версия на даден софтуер към по-стара версия.
Например организация може да използва PHP 7.2 за специфична бизнес система, която не може да бъде мигрирана незабавно към PHP 8.x поради ограничения в съвместимостта.
Вместо да се извършва рискована и прибързана миграция, доставчикът на пакетите може да приложи необходимата корекция към съществуващата версия.
По този начин основната версия на PHP остава непроменена, но конкретната уязвимост се отстранява.
Такъв пример е пакетът PHP 7.2.34-66, публикуван от Ondřej Surý за Debian и Ubuntu среди.
В неговия changelog изрично са посочени:
CVE-2026-109618 и CVE-2026-109619 — Backported from PHP 8.2.35.
Това показва, че поправките за двете критични уязвимости са пренесени и към PHP 7.2.
Важно е обаче да се подчертае, че наличието на конкретна поправка не означава, че старата версия автоматично става напълно защитена срещу всички известни или бъдещи уязвимости.
Дългосрочната миграция към активно поддържана PHP версия остава препоръчителният подход.
Кои сървърни конфигурации могат да бъдат засегнати?
PHP може да бъде интегриран с уеб сървъра по различни начини.
Сред широко използваните конфигурации са Apache с mod_php, Apache с PHP-FPM, Nginx с PHP-FPM, CGI базирани реализации и други специализирани среди за изпълнение.
Конкретният риск зависи от начина, по който PHP обработва заявките, управлява процесите и възстановява вътрешното си състояние.
Не всяка инсталация с определена PHP версия е автоматично експлоатируема по един и същи начин.
Затова при оценка на риска системните администратори трябва да проверят както версията на PHP, така и реалната сървърна конфигурация.
Особено важно е да се установи дали публично достъпни приложения използват засегнатите компоненти и дали съответните защитни актуализации са приложени.
Какви могат да бъдат последствията от успешна атака?
Последствията зависят от начина на експлоатация, правата на компрометирания процес и архитектурата на сървъра.
1. Неоторизиран достъп до информация
При успешно компрометиране атакуващият може да получи достъп до файлове и данни, за които уеб процесът има права.
Това може да включва конфигурационни файлове, данни за връзка с бази данни, API ключове и друга чувствителна информация.
2. Компрометиране на клиентски и бизнес данни
CRM и ERP системите често съхраняват значителни количества информация за клиенти, партньори, доставки, фактури, складови наличности и финансови операции.
Неправомерният достъп до подобна информация може да доведе до сериозни финансови, правни и репутационни последствия.
3. Прекъсване на онлайн услуги
Компрометиран сървър може да стане недостъпен вследствие на зловредни действия, нестабилност или предприети аварийни защитни мерки.
За онлайн магазин това може да означава прекъснати продажби, необработени поръчки и загуба на приходи.
4. Инсталиране на зловреден софтуер
При достатъчни права атакуващият може да се опита да инсталира допълнителни инструменти за отдалечен достъп, скрити скриптове или други механизми за запазване на контрол върху системата.
5. Последващи атаки срещу други системи
Ако компрометираният сървър има достъп до вътрешна инфраструктура, бази данни или интегрирани услуги, атакуващият може да се опита да разшири обхвата на атаката.
Именно затова съвременната сървърна архитектура трябва да включва разделяне на правата, мрежова изолация и ограничаване на достъпа до критични компоненти.
Международната реакция след разкриването на PHP2Shell
Публикуването на информацията за уязвимостите предизвика бърза реакция от страна на организации по киберсигурност и доставчици на технологични услуги.
Британският National Cyber Security Centre (NCSC) публикува предупреждение за критичния проблем и необходимостта от спешни защитни действия.
Международни медии съобщиха за организации, които временно ограничават достъпа до определени онлайн услуги като предпазна мярка.
Тези действия не означават непременно, че съответните системи са били успешно атакувани.
В много случаи временното ограничаване на достъпа е превантивна мярка, която позволява на техническите екипи да проверят инфраструктурата и да приложат необходимите актуализации.
Този подход е особено важен при системи, обработващи чувствителна информация или обслужващи критични обществени и бизнес процеси.
Ролята на изкуствения интелект при откриването на уязвимостите
Един от интересните аспекти на PHP2Shell е участието на инструменти, базирани на изкуствен интелект, в процеса на изследване на сигурността.
AI технологиите все по-често се използват за анализ на големи кодови бази, откриване на подозрителни зависимости и идентифициране на потенциално опасни сценарии.
Това позволява на изследователите да анализират огромни количества програмен код и да откриват проблеми, които могат да останат незабелязани при традиционни проверки.
Същевременно развитието на AI поставя нови предизвикателства пред киберсигурността.
Инструментите, които подпомагат откриването и отстраняването на уязвимости, могат да бъдат използвани и за автоматизирано търсене на слабо защитени системи.
Това допълнително увеличава значението на своевременното обновяване и постоянния контрол върху сървърната инфраструктура.
Как да проверим дали един PHP сървър е защитен?
Първата стъпка е установяване на използваните PHP версии.
При Linux сървър с Ubuntu или Debian това може да бъде направено чрез командата:
php -v
Тази команда обаче показва версията на PHP, използвана от командния ред (CLI), която невинаги съвпада с версията, обслужваща конкретния уебсайт.
При сървъри с множество PHP версии трябва множество проверки.
Практически инструкции: Как да проверите дали вашият PHP сървър е защитен от PHP2Shell?
Коментари за „PHP2Shell: Критични уязвимости в PHP застрашават милиони уебсайтове, онлайн магазини и бизнес системи по света“
Все още няма коментари. Бъдете първият, който ще коментира тази статия.