# LiteSpeed i LSAPI: aktualizacja PHP

> Aktualizacja PHP w LiteSpeed po PHP2Shell: sprawdź pakiety lsphp, zrestartuj wszystkie procesy LSAPI, ustaw wartości przejściowe i udokumentuj stan poprawki.

Źródło: https://phpsos.de/pl/server/litespeed/  
Stan: 25.10.2026  
Dostawca: PHP SOS, Pomoc awaryjna PHP i bezpieczeństwo serwerów. Natychmiastowa pomoc przez WhatsApp: https://wa.me/491736494914?text=Dzie%C5%84%20dobry%2C%20PHP%20SOS%2C%20potrzebujemy%20pomocy%20z%20naszym%20serwerem%20PHP.%20Firma%3A%20%E2%80%A6%20Strona%20internetowa%3A%20%E2%80%A6

**Krótko:** Aktualizacja PHP w LiteSpeed dotyczy pakietów lsphp, przez które LiteSpeed wykonuje PHP za pomocą LSAPI. Po aktualizacji muszą zrestartować się wszystkie procesy lsphp, a w LiteSpeed nie zawsze dzieje się to automatycznie wraz z serwerem WWW. Proszę sprawdzić stan pakietów i czas startu procesów, zanim serwer zostanie uznany za załatany.

## LiteSpeed, LSAPI i lsphp w skrócie

LiteSpeed Web Server i jego darmowy wariant OpenLiteSpeed nie wykonują PHP jako modułu, lecz przez własny interfejs o nazwie LSAPI. Programy PHP do tego nazywają się lsphp i pochodzą zwykle z własnych źródeł pakietów, dla każdej wersji na przykład `lsphp83` lub `lsphp84`. W panelach takich jak cPanel, Plesk czy CyberPanel w grę mogą wchodzić dodatkowo pakiety PHP samego panelu.

PHP2Shell obejmuje luki CVE-2026-109618 i CVE-2026-109619 w samym PHP, każda oceniona na 9.2 w CVSS v4.0. Projekt PHP wprost wymienia LiteSpeed wśród dotkniętych trybów pracy. Usunięte są wersje 8.5.12, 8.4.27, 8.3.36 i 8.2.35.

## Aktualizacja PHP w LiteSpeed: inwentaryzacja

Proszę najpierw ustalić, jakie wersje lsphp są zainstalowane i które z nich są używane. Poniższe polecenia tylko odczytują. Ścieżki i nazwy pakietów to przykłady i zależą od instalacji i dystrybucji.

```bash
# Zainstalowane wersje lsphp (typowa ścieżka)
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

# Stan pakietów (przykłady)
rpm -qa | grep -E '^lsphp[0-9]+' | sort
dpkg -l | grep -E 'lsphp[0-9]+'

# Działające procesy lsphp z czasem startu
ps -eo pid,lstart,user,cmd | grep lsphp | grep -v grep
```

Proszę porównać listę z konfiguracją: który host wirtualny używa którego External App Handler? W interfejsie LiteSpeed znajdą Państwo to w Server Configuration i w ustawieniach hostów wirtualnych. Wersje bez przypisania mimo to należy zaktualizować lub usunąć.

## Uwzględnić backporty i źródła pakietów

Jeśli lsphp pochodzi z obcego źródła, rozstrzyga stan pakietów tego źródła. Jeśli PHP dostarcza panel lub dystrybucja, obowiązuje ich informacja. W obu przypadkach poprawka może być dostarczona jako backport bez zmiany wyświetlanego numeru wersji. Dlatego proszę sprawdzić uwagi o zmianach u dostawcy pakietu i w razie wątpliwości poprosić o potwierdzenie stanu. Sam numer wersji nie jest dowodem.

## Restart: na co zwrócić uwagę w LiteSpeed

LiteSpeed może uruchamiać PHP w tak zwanym trybie Detached Mode. Procesy lsphp działają wtedy niezależnie od serwera WWW, aby strony odpowiadały szybciej po restarcie serwera. Przy aktualizacji bezpieczeństwa to pułapka: serwer WWW jest zrestartowany, ale stare procesy PHP z podatnym kodem pozostają aktywne.

```bash
# Restart serwera WWW (ścieżka jako przykład)
/usr/local/lsws/bin/lswsctrl restart

# Potem kontrola: czy wszystkie procesy lsphp są młodsze niż aktualizacja?
ps -eo pid,lstart,user,cmd | grep lsphp | grep -v grep
```

Jeśli proces lsphp pokazuje czas startu sprzed aktualizacji, proszę zakończyć go celowo. LiteSpeed uruchomi przy następnym żądaniu nowy proces z zaktualizowanym kodem. Ten krok proszę zaplanować poza godzinami największego obciążenia, ponieważ pierwsze żądanie dla każdej strony może potem trwać nieco dłużej.

> **Ważne:**
> Po aktualizacji PHP serwer jest załatany dopiero wtedy, gdy żaden proces lsphp nie jest starszy niż aktualizacja. Proszę zapisać kontrolę z datą i godziną.

## Środki przejściowe do czasu poprawki

Jeśli dla wersji lsphp nie ma jeszcze pakietu z usuniętą luką, php.net zaleca środki przejściowe. Nie dają pełnej ochrony. Wartości proszę ustawiać w php.ini danej wersji lsphp lub w konfiguracji serwera, a nie w `.user.ini` ani przez `ini_set()`.

```ini
; php.ini dotkniętej wersji lsphp (ścieżka zależnie od instalacji)
session.upload_progress.enabled = 0
post_max_size = 8M
upload_max_filesize = 6M
```

Przy funkcji uploadu php.net podaje `post_max_size = 32M`, a `upload_max_filesize` niższe. W PHP 8.5 dochodzi `fatal_error_backtraces=0`. Limity pamięci proszę ustawiać przez cgroups, w CloudLinux na przykład przez przewidziane tam limity, a nie przez `RLIMIT_AS` czy `RLIMIT_DATA`. Potem znów następuje restart wszystkich procesów lsphp. Dalsze szczegóły: [Środki doraźne bez poprawki](https://phpsos.de/pl/php2shell/sofortmassnahmen-ohne-patch/). BSI (niemiecki Federalny Urząd ds. Bezpieczeństwa w Technice Informatycznej) zaleca czasowe odłączenie serwera WWW od sieci, jeśli aktualizacja nie jest możliwa od razu.

## Po aktualizacji

Poprawka zamyka lukę, ale nie usuwa już wprowadzonego szkodliwego oprogramowania i nie dowodzi, że wcześniej nic się nie stało. Proszę zachować logi dostępu od 20.10.2026 i sprawdzić strony pod kątem nowych plików PHP w katalogach uploadu, obcych kont administratorów i nietypowych połączeń wychodzących. Wskazówki dotyczące bieżącego nadzoru oferuje nasz [monitoring bezpieczeństwa](https://phpsos.de/pl/leistungen/security-monitoring/). Na serwerach cPanel z LiteSpeed warto dodatkowo zajrzeć do artykułu [cPanel i WHM](https://phpsos.de/pl/server/cpanel/).

Wiele serwerów LiteSpeed działa pod panelem hostingowym, takim jak cPanel, Plesk, DirectAdmin czy CyberPanel. Panel określa wtedy, z jakiego źródła pochodzi lsphp i jak instaluje się aktualizacje. W takim przypadku aktualizacje proszę wykonywać przez panel lub jego źródła pakietów i nie instalować równolegle z drugiego źródła, bo trudno wtedy ustalić, która wersja faktycznie działa. Proszę także zapisać, która strona działa z którą wersją lsphp. Na serwerach z wieloma kontami klientów ta lista jest podstawą do celowego informowania właścicieli kont i do wyrywkowego sprawdzenia po aktualizacji, czy strony działają bezbłędnie. Strony, które wymagają nieobsługiwanej już wersji PHP, powinny trafić na osobną listę, bo dla nich oficjalna aktualizacja nie nadejdzie.

## Jak konkretnie pomaga PHP SOS?

- Rejestrujemy wszystkie wersje lsphp, źródła pakietów i przypisania handlerów na Państwa serwerze.
- Przez [usługę aktualizacji PHP](https://phpsos.de/pl/leistungen/php-patch-service/) aktualizujemy, kończymy wszystkie stare procesy lsphp i dokumentujemy dowód.
- Tam, gdzie pakietu jeszcze nie ma, ustawiamy wartości przejściowe ogólnie dla serwera i ograniczamy pamięć przez cgroup.
- Sprawdzamy strony pod kątem śladów ataku i zabezpieczamy logi.


## Częste pytania

**Czy LiteSpeed jest dotknięty przez PHP2Shell?**  
Tak. Według projektu PHP LiteSpeed należy do dotkniętych trybów pracy. Luki leżą w samym PHP, które LiteSpeed wykonuje przez LSAPI. Rozstrzygający jest więc stan pakietów lsphp.

**Dlaczego po aktualizacji nadal działają stare procesy lsphp?**  
LiteSpeed może utrzymywać procesy PHP niezależnie od serwera WWW, aby skrócić czasy ładowania. Restart serwera WWW nie kończy ich od razu, zależnie od trybu pracy. Dlatego proszę sprawdzić czas startu wszystkich procesów lsphp.

**Czy dotyczy to także OpenLiteSpeed?**  
Zasadniczo tak. OpenLiteSpeed również używa lsphp przez LSAPI. Ścieżki, źródła pakietów i interfejs administracyjny się różnią, ale zasada aktualizacji, restartu i kontroli pozostaje ta sama.

**Czy pamięć podręczna LiteSpeed pomaga na tę lukę?**  
Nie. Pamięć podręczna stron wprawdzie wydaje niektóre strony bez PHP, ale żądania, które docierają do PHP, pozostają podatne na atak. Cache nie zastępuje aktualizacji PHP.

## Źródła

- [php.net: komunikaty bezpieczeństwa](https://www.php.net/)
- [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
- [php.net: obsługiwane wersje](https://www.php.net/supported-versions.php)
- [BSI](https://www.bsi.bund.de/)
