Aktuální situace: PHP2Shell. Dvě kritické zranitelnosti PHP (CVSS 9.2) umožňují spustit škodlivý kód bez přihlášení. Záplaty od 21. 10. 2026.Co nyní udělat →

LiteSpeed a LSAPI: aktualizace PHP

LiteSpeed používá vlastní balíčky lsphp a procesy PHP drží dlouho v paměti. Takto nasadíte aktualizaci PHP a zajistíte, aby se skutečně restartovaly všechny procesy.

Stav 4 min čteníServer a hosting

Stručně: Aktualizace PHP v LiteSpeed se týká balíčků lsphp, přes které LiteSpeed spouští PHP pomocí LSAPI. Po aktualizaci se musí restartovat všechny procesy lsphp, a právě to se u LiteSpeed s webovým serverem nestává vždy automaticky. Zkontrolujte stav balíčků a čas spuštění procesů, než server označíte za zazáplatovaný.

LiteSpeed, LSAPI a lsphp stručně

LiteSpeed Web Server a jeho svobodná varianta OpenLiteSpeed nespouštějí PHP jako modul, ale přes vlastní rozhraní zvané LSAPI. Programy PHP pro něj se jmenují lsphp a pocházejí většinou z vlastních zdrojů balíčků, pro každou verzi například lsphp83 nebo lsphp84. Na panelech jako cPanel, Plesk nebo CyberPanel mohou navíc přicházet v úvahu balíčky PHP, které patří přímo panelu.

PHP2Shell zahrnuje zranitelnosti CVE-2026-109618 a CVE-2026-109619 v samotném PHP, každou hodnocenou CVSS v4.0 9,2. Projekt PHP uvádí LiteSpeed výslovně mezi postiženými provozními režimy. Opraveny jsou verze 8.5.12, 8.4.27, 8.3.36 a 8.2.35.

Aktualizace PHP v LiteSpeed: zjistit stav

Nejdříve zjistěte, které verze lsphp jsou nainstalovány a které se používají. Následující příkazy jen čtou. Cesty a názvy balíčků jsou příklady a závisejí na instalaci a distribuci.

# Nainstalované verze lsphp (typická cesta)
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

# Stav balíčků (příklady)
rpm -qa | grep -E '^lsphp[0-9]+' | sort
dpkg -l | grep -E 'lsphp[0-9]+'

# Běžící procesy lsphp s časem spuštění
ps -eo pid,lstart,user,cmd | grep lsphp | grep -v grep

Porovnejte seznam s konfigurací: který virtuální host používá který External App Handler? V rozhraní LiteSpeed to najdete v Server Configuration a v nastavení virtuálních hostů. Verze bez přiřazení byste přesto měli aktualizovat nebo odstranit.

Zohlednit backporty a zdroje balíčků

Pokud lsphp pochází z cizího zdroje, rozhoduje jeho stav balíčků. Pokud PHP dodává panel nebo distribuce, platí jejich údaj. V obou případech může být oprava dodána jako backport, aniž by se změnilo zobrazené číslo verze. Zkontrolujte proto poznámky ke změnám od dodavatele balíčku a v případě pochybností si nechte stav potvrdit. Samotné číslo verze není dokladem.

Restart: na čem u LiteSpeed záleží

LiteSpeed může PHP provozovat v tzv. Detached Mode. Procesy lsphp přitom běží nezávisle na webovém serveru dál, aby weby po restartu webového serveru odpovídaly rychleji. Pro bezpečnostní aktualizaci je to past: webový server je restartován, ale staré procesy PHP se zranitelným kódem zůstávají aktivní.

# Restartovat webový server (cesta jako příklad)
/usr/local/lsws/bin/lswsctrl restart

# Poté zkontrolovat: jsou všechny procesy lsphp mladší než aktualizace?
ps -eo pid,lstart,user,cmd | grep lsphp | grep -v grep

Pokud proces lsphp vykazuje čas spuštění před aktualizací, ukončete ho cíleně. LiteSpeed při dalším požadavku spustí nový proces s aktualizovaným kódem. Tento krok naplánujte mimo hlavní špičku, protože první požadavek na každý web může poté trvat o něco déle.

Důležité

Po aktualizaci PHP je server zazáplatován teprve tehdy, když žádný proces lsphp není starší než aktualizace. Kontrolu zaznamenejte s datem a časem.

Přechodná opatření do příchodu záplaty

Pokud pro některou verzi lsphp ještě není k dispozici opravený balíček, doporučuje php.net přechodná opatření. Neposkytují úplnou ochranu. Hodnoty nastavte v php.ini příslušné verze lsphp nebo v konfiguraci serveru, nikoli v .user.ini a ne pomocí ini_set().

; php.ini dotčené verze lsphp (cesta podle instalace)
session.upload_progress.enabled = 0
post_max_size = 8M
upload_max_filesize = 6M

S funkcí nahrávání souborů uvádí php.net post_max_size = 32M, upload_max_filesize níže. Na PHP 8.5 přibývá fatal_error_backtraces=0. Limity paměti nastavte přes cgroups, na CloudLinuxu například přes tam určené limity, nikoli přes RLIMIT_AS nebo RLIMIT_DATA. Poté následuje znovu restart všech procesů lsphp. Další podrobnosti: Okamžitá opatření bez záplaty. BSI (německý Spolkový úřad pro informační bezpečnost) doporučuje webový server dočasně odpojit od sítě, pokud aktualizace není okamžitě možná.

Po aktualizaci

Záplata zranitelnost uzavírá, ale neodstraní již zavlečený škodlivý software a nedokazuje, že se předtím nic nestalo. Uchovejte přístupové logy od 20. 10. 2026 a zkontrolujte weby na nové soubory PHP v adresářích pro nahrávání, cizí administrátorské účty a neobvyklá odchozí spojení. Tipy k průběžnému sledování nabízí náš bezpečnostní monitoring. Na serverech cPanel s LiteSpeed se navíc vyplatí podívat se na stránku cPanel a WHM.

Mnoho serverů LiteSpeed běží pod hostingovým panelem, jako je cPanel, Plesk, DirectAdmin nebo CyberPanel. Panel pak určuje, z jakého zdroje lsphp pochází a jak se aktualizace nasazují. Aktualizace v takovém případě provádějte přes panel nebo jeho zdroje balíčků a neinstalujte paralelně z druhého zdroje, jinak bude těžké dohledat, která verze skutečně běží. Zaznamenejte si také, který web běží s jakou verzí lsphp. Na serverech s mnoha zákaznickými účty je tento seznam základem pro cílené informování majitelů účtů a pro namátkovou kontrolu, zda weby po aktualizaci fungují bez chyb. Weby, které vyžadují už nepodporovanou verzi PHP, patří na vlastní seznam, protože pro ně oficiální aktualizace nevyjde.

Jak konkrétně pomáhá PHP SOS?

  • Zmapujeme všechny verze lsphp, zdroje balíčků a přiřazení handlerů na vašem serveru.
  • Prostřednictvím služby záplatování PHP aktualizujeme, ukončíme všechny staré procesy lsphp a doložíme to.
  • Kde balíček ještě není k dispozici, nastavíme přechodné hodnoty pro celý server a omezíme paměť přes cgroup.
  • Zkontrolujeme weby na stopy útoku a zajistíme logy.

Časté dotazy

Týká se PHP2Shell i LiteSpeed?

Ano. Podle projektu PHP patří LiteSpeed mezi postižené provozní režimy. Zranitelnosti jsou v samotném PHP, které LiteSpeed spouští přes LSAPI. Rozhodující je proto stav balíčků lsphp.

Proč po aktualizaci stále běží staré procesy lsphp?

LiteSpeed může nechat procesy PHP běžet nezávisle na webovém serveru, aby ušetřil dobu načítání. Restart webového serveru je podle provozního režimu neukončí hned. Zkontrolujte proto čas spuštění všech procesů lsphp.

Platí to i pro OpenLiteSpeed?

V zásadě ano. OpenLiteSpeed také používá lsphp přes LSAPI. Cesty, zdroje balíčků a administrační rozhraní se liší, princip aktualizace, restartu a kontroly zůstává stejný.

Pomůže proti zranitelnosti cache LiteSpeed?

Ne. Cache stránek sice některé stránky doručuje bez PHP, požadavky, které PHP dosáhnou, však zůstávají napadnutelné. Cache aktualizaci PHP nenahrazuje.

Zdroje

Okamžitý kontakt

Každá hodina se počítá. Napište nám hned.

Stručně popište systém, verzi PHP a pozorování. Ozveme se, vyjasníme situaci a budeme pracovat na dálku, dokud nebude incident uzavřen a zdokumentován.

Okamžitá pomoc