Текуща ситуация: PHP2Shell. Две критични уязвимости в PHP (CVSS 9,2) позволяват злонамерен код без вход. Корекции от 21.10.2026 г.Какво да направите сега →

LiteSpeed и LSAPI: как да актуализирате PHP

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

Актуалност 5 мин. четенеСървър и хостинг

Накратко: Актуализацията на PHP в LiteSpeed засяга lsphp пакетите, чрез които LiteSpeed изпълнява PHP по LSAPI. След актуализацията всички lsphp процеси трябва да се рестартират, а именно това при LiteSpeed не винаги става автоматично с уеб сървъра. Проверете състоянието на пакетите и времето на стартиране на процесите, преди да определите сървъра като пачнат.

LiteSpeed, LSAPI и lsphp в кратко обяснение

LiteSpeed Web Server и безплатният му вариант OpenLiteSpeed не изпълняват PHP като модул, а през собствен интерфейс, наречен LSAPI. PHP програмите за това се казват lsphp и най-често идват от собствени източници на пакети, за всяка версия например lsphp83 или lsphp84. В панели като cPanel, Plesk или CyberPanel може да участват допълнително и собствени PHP пакети на панела.

PHP2Shell обхваща уязвимостите CVE-2026-109618 и CVE-2026-109619 в самия PHP, и двете оценени с CVSS v4.0 9,2. Проектът PHP изрично посочва LiteSpeed сред засегнатите режими на работа. Коригирани са версиите 8.5.12, 8.4.27, 8.3.36 и 8.2.35.

Актуализация на PHP в LiteSpeed: описване на наличното

Първо установете кои версии на lsphp са инсталирани и кои от тях се ползват. Следващите команди само четат. Пътищата и имената на пакетите са примери и зависят от инсталацията и дистрибуцията.

# Инсталирани версии на lsphp (типичен път)
ls -d /usr/local/lsws/lsphp*/ 2>/dev/null
for p in /usr/local/lsws/lsphp*/bin/lsphp; do echo "$p"; "$p" -v | head -1; done

# Състояние на пакетите (примери)
rpm -qa | grep -E '^lsphp[0-9]+' | sort
dpkg -l | grep -E 'lsphp[0-9]+'

# Работещи lsphp процеси с време на стартиране
ps -eo pid,lstart,user,cmd | grep lsphp | grep -v grep

Сравнете списъка с конфигурацията: кой виртуален хост ползва кой External App Handler? В интерфейса на LiteSpeed ще го намерите под Server Configuration и в настройките на виртуалните хостове. Версиите без съответствие все пак трябва да се актуализират или да се премахнат.

Обърнете внимание на бекпортовете и източниците на пакети

Ако lsphp идва от външен източник, решава състоянието на неговия пакет. Ако PHP доставя панел или дистрибуция, важи тяхното указание. И в двата случая корекцията може да се достави като бекпорт, без показаният номер на версията да се промени. Затова проверете указанията за промени на доставчика на пакета и при съмнение поискайте потвърждение за състоянието. Само номерът на версията не е доказателство.

Рестарт: на какво да обърнете внимание при LiteSpeed

LiteSpeed може да работи с PHP в т.нар. Detached Mode. При него lsphp процесите продължават да работят независимо от уеб сървъра, за да отговарят уебсайтовете по-бързо след рестарт на уеб сървъра. За актуализация на сигурността това е клопка: уеб сървърът е рестартиран, но стари PHP процеси с уязвимия код остават активни.

# Рестартиране на уеб сървъра (пътят е пример)
/usr/local/lsws/bin/lswsctrl restart

# След това проверка: всички lsphp процеси по-нови ли са от актуализацията?
ps -eo pid,lstart,user,cmd | grep lsphp | grep -v grep

Ако lsphp процес показва време на стартиране преди актуализацията, прекратете го целенасочено. При следващата заявка LiteSpeed стартира нов процес с актуализирания код. Планирайте тази стъпка извън часовете на най-голямо натоварване, защото първата заявка към всеки уебсайт след това може да отнеме малко повече време.

Важно

След актуализацията на PHP сървърът е пачнат едва когато нито един lsphp процес не е по-стар от актуализацията. Запишете проверката с дата и час.

Временни мерки, докато пачът дойде

Ако за дадена версия на lsphp още няма наличен коригиран пакет, php.net препоръчва временни мерки. Те не осигуряват пълна защита. Задайте стойностите в php.ini на съответната версия на lsphp или в конфигурацията на сървъра, не в .user.ini и не чрез ini_set().

; php.ini на засегнатата версия на lsphp (пътят зависи от инсталацията)
session.upload_progress.enabled = 0
post_max_size = 8M
upload_max_filesize = 6M

При функция за качване php.net посочва post_max_size = 32M, като upload_max_filesize е под тази стойност. При PHP 8.5 се добавя fatal_error_backtraces=0. Ограниченията на паметта задавате чрез cgroups, а при CloudLinux например чрез предвидените там лимити, не чрез RLIMIT_AS или RLIMIT_DATA. След това отново следва рестарт на всички lsphp процеси. Още подробности: Незабавни мерки без пач. BSI (Федерална служба за информационна сигурност на Германия) препоръчва уеб сървърът да се изключи временно от мрежата, ако актуализацията не е възможна веднага.

След актуализацията

Пачът затваря уязвимостта, но не премахва вече внесен зловреден софтуер и не доказва, че преди това нищо не се е случило. Запазете протоколите за достъп от 20.10.2026 г. нататък и проверете уебсайтовете за нови PHP файлове в директориите за качване, чужди администраторски акаунти и необичайни изходящи връзки. Указания за текущото наблюдение дава нашето следене на сигурността. На cPanel сървъри с LiteSpeed си струва допълнително да погледнете cPanel и WHM.

Много LiteSpeed сървъри работят под хостинг панел като cPanel, Plesk, DirectAdmin или CyberPanel. Тогава панелът определя от кой източник идва lsphp и как се внасят актуализациите. В такъв случай правете актуализациите през панела или неговите източници на пакети и не инсталирайте паралелно от втори източник, иначе става трудно да се проследи коя версия наистина работи. Записвайте и кой уебсайт с коя версия на lsphp се обслужва. На сървъри с много клиентски акаунти този списък е основата, за да информирате целенасочено собствениците на акаунти и да проверите след актуализацията по извадка дали уебсайтовете работят безупречно. Уебсайтовете, които изискват вече неподдържана версия на PHP, трябва да са в отделен списък, защото за тях официална актуализация няма да излезе.

Как помага PHP SOS конкретно?

  • Описваме всички версии на lsphp, източници на пакети и съответствия с манипулаторите на Вашия сървър.
  • Чрез услугата за PHP пач актуализираме, прекратяваме всички стари lsphp процеси и документираме доказателството.
  • Където още няма наличен пакет, задаваме временните стойности за целия сървър и ограничаваме паметта чрез cgroup.
  • Проверяваме уебсайтовете за следи от атака и запазваме логовете.

Често задавани въпроси

Засегнат ли е LiteSpeed от PHP2Shell?

Да. Според проекта PHP LiteSpeed е сред засегнатите режими на работа. Уязвимостите са в самия PHP, който LiteSpeed изпълнява през LSAPI. Затова от значение е състоянието на lsphp пакетите.

Защо след актуализацията още работят стари lsphp процеси?

LiteSpeed може да оставя PHP процесите да работят независимо от уеб сървъра, за да спестява време за зареждане. Рестартът на уеб сървъра, според режима на работа, не ги прекратява веднага. Затова проверете времето на стартиране на всички lsphp процеси.

Важи ли това и за OpenLiteSpeed?

По принцип да. OpenLiteSpeed също ползва lsphp през LSAPI. Пътищата, източниците на пакети и интерфейсът за управление се различават, но принципът на актуализация, рестарт и проверка е същият.

Помага ли кешът на LiteSpeed срещу уязвимостта?

Не. Кешът на страниците сервира някои страници без PHP, но заявките, които достигат до PHP, остават уязвими. Кешът не замества актуализацията на PHP.

Източници

Незабавен контакт

Всеки час има значение. Пишете ни сега.

Опишете накратко системата, версията на PHP и какво сте забелязали. Ние се свързваме с Вас, уточняваме ситуацията и работим отдалечено, докато инцидентът бъде приключен и документиран.

Незабавна помощ