На 21 октомври PHP пусна извънредни обновления за две критични уязвимости, наречени общо PHP2Shell. Те позволяват на нападател без акаунт и без парола да изпълни свой код на уеб сървъра. Засегнат е самият език PHP, а не отделен плъгин или приложение — затова рискът стига до огромна част от фирмените сайтове, онлайн магазините и вътрешните системи в България.
Какво се случи
Уязвимостите са с номера 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 пълна защита дава единствено обновяването.
Какво да направите сега
В хостинг панела, в „Здраве на сайта“ в WordPress или с командата php -v на сървъра. Проверете всички сайтове и вътрешни системи, не само основния.
8.5.12, 8.4.27, 8.3.36 или 8.2.35 — или пакет от вашата Linux дистрибуция с включената поправка. При споделен хостинг поискайте писмено потвърждение от доставчика.
Тези версии не получават обновления от PHP. Попитайте доставчика си дали предлага корекция и планирайте преминаване на поддържана версия.
PHP описва временни мерки: memory_limit=-1, по-нисък post_max_size (8M без качване на файлове, 32M с качване) и session.upload_progress.enabled=0. Те намаляват риска, но не го премахват — и трябва да се обмислят спрямо натоварването на сървъра.
Amazon съветва да не приемате датата на оповестяването за най-ранната дата на атаки. Търсете необичайни заявки и нови файлове на сървъра от средата на октомври насам.
Изводът
PHP2Shell е от уязвимостите, при които всеки ден закъснение има значение: засяга самия език, а не отделен плъгин, и вече се търси активно в интернет. Добрата новина е, че поправката е налична и при поддържана версия обикновено се прилага бързо. Ако не сте сигурни коя версия на PHP използват вашите сайтове или кой отговаря за обновяването им, екипът на Defend.bg може да провери и обнови сървърите ви.


