Блог

PHP2Shell: две критични уязвимости в PHP — проверете сайтовете си днес

PHP пусна спешни обновления за две уязвимости, които позволяват превземане на уеб сървър без парола. Засегнати са сайтове на WordPress, Joomla, Drupal и всичко друго, което работи с PHP.

Новини · · 4 мин четене
Съдържание 5 раздела
  1. Какво се случи
  2. Кого засяга
  3. Атакуват ли се вече уязвимостите?
  4. Какво да направите сега
  5. Изводът

На 21 октомври PHP пусна извънредни обновления за две критични уязвимости, наречени общо PHP2Shell. Те позволяват на нападател без акаунт и без парола да изпълни свой код на уеб сървъра. Засегнат е самият език PHP, а не отделен плъгин или приложение — затова рискът стига до огромна част от фирмените сайтове, онлайн магазините и вътрешните системи в България.

9.2CVSS оценка на всяка от двете уязвимости
до 80%от сайтовете в интернет работят с PHP, по данни на BleepingComputer
71%от PHP инсталациите в данните на Qualys са на версии без поддръжка

Какво се случи

Уязвимостите са с номера CVE-2026-109618 и CVE-2026-109619. Първата е свързана с обработката на недостиг на памет (out-of-memory): PHP може да бъде прекъснат, докато вътрешните данни на заявката са подготвени само частично, а почистването след това ги приема за валидни. При втората вътрешно състояние от една заявка оцелява, след като паметта му е освободена, и може да бъде използвано от следваща заявка в същия процес. И в двата случая резултатът може да е RCE (remote code execution) — изпълнение на чужд код на сървъра.

Поправките са във версии 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Според SecurityWeek PHP ги издаде един ден по-рано от планираното, след като номерата на уязвимостите изтекоха онлайн. CERT България също публикува предупреждение и препоръчва обновяване на всички инсталирани версии.

Кого засяга

Според официалното съобщение на PHP рискът важи за всички инсталации, които обслужват уеб заявки: PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP и LiteSpeed. Най-висок е при mod_php — там е демонстрирана атака, която се задейства още преди да се изпълни кодът на самото приложение. С други думи, дори добре поддържан WordPress, Joomla или Drupal е уязвим, ако PHP под него не е обновен.

Отделен проблем са старите версии. PHP 8.1 и по-старите вече не получават обновления от проекта PHP. Заради сериозността на случая екипът е подготвил минимални корекции и за версии 7.4, 8.0 и 8.1, но те са за хора, които компилират PHP сами. За повечето фирми реалното решение е преминаване на поддържана версия или пакет с корекция от доставчика на операционната система.

На 23 октомври PHP публикува и информационно съобщение за още един, по-малко вероятен път към изпълнение на код (CVE-2026-115560). Той се проявява само при необичайна комбинация от настройки и код, а препоръчаната мярка до следващото редовно обновяване е изключване на session.upload_progress.enabled.

Атакуват ли се вече уязвимостите?

Опити има. Amazon Threat Intelligence съобщава, че първият е засечен на 17 октомври — четири дни преди поправките — и предупреждава, че уязвимостите вече се атакуват масово, макар да не е ясно колко от атаките успяват. Sophos е спряла опит чрез PHP2Shell да бъде инсталиран Potassium, вариант на ботнета Mirai, който може да сваля допълнителен зловреден код и да участва в DDoS атаки.

Към 23 октомври SecurityWeek не съобщава за потвърден успешен пробив. По данни на Sansec публично достъпните експлойти не работят срещу инсталации с настройки по подразбиране. В същото време VulnCheck съобщава, че вече има експлойт, който заобикаля защитата ASLR в типични производствени настройки — засега достъпен само за нейни клиенти. Изводът е прост: прозорецът за спокойно обновяване се затваря.

Важно: временните мерки само намаляват риска. Според PHP пълна защита дава единствено обновяването.

Какво да направите сега

Разберете коя версия на PHP използвате

В хостинг панела, в „Здраве на сайта“ в WordPress или с командата php -v на сървъра. Проверете всички сайтове и вътрешни системи, не само основния.

Обновете до поправена версия

8.5.12, 8.4.27, 8.3.36 или 8.2.35 — или пакет от вашата Linux дистрибуция с включената поправка. При споделен хостинг поискайте писмено потвърждение от доставчика.

Планирайте миграция от PHP 8.1 и по-стари

Тези версии не получават обновления от PHP. Попитайте доставчика си дали предлага корекция и планирайте преминаване на поддържана версия.

Ако не можете да обновите веднага

PHP описва временни мерки: memory_limit=-1, по-нисък post_max_size (8M без качване на файлове, 32M с качване) и session.upload_progress.enabled=0. Те намаляват риска, но не го премахват — и трябва да се обмислят спрямо натоварването на сървъра.

Прегледайте логовете назад във времето

Amazon съветва да не приемате датата на оповестяването за най-ранната дата на атаки. Търсете необичайни заявки и нови файлове на сървъра от средата на октомври насам.

Изводът

PHP2Shell е от уязвимостите, при които всеки ден закъснение има значение: засяга самия език, а не отделен плъгин, и вече се търси активно в интернет. Добрата новина е, че поправката е налична и при поддържана версия обикновено се прилага бързо. Ако не сте сигурни коя версия на PHP използват вашите сайтове или кой отговаря за обновяването им, екипът на Defend.bg може да провери и обнови сървърите ви.

Екипът на Defend.bg

Пишем за киберсигурност, ИТ инфраструктура и AI от практиката — какво работи и какво да проверите при вас.

Всички статии