Aktuálna situácia: PHP2Shell. Dve kritické zraniteľnosti PHP (CVSS 9.2) umožňujú spustenie škodlivého kódu bez prihlásenia. Záplaty od 21. 10. 2026.Čo treba urobiť teraz →

Server s Plesk: kontrola a záplatovanie verzií PHP

Na serveroch s Plesk často beží paralelne viac verzií PHP. Takto skontrolujete každý handler, nasadíte aktualizáciu PHP a reštartujete všetkých workerov.

Stav 4 min čítaniaServer a hosting

Stručne: Aktualizácia PHP v Plesk je dokončená až vtedy, keď je každá nainštalovaná verzia PHP na opravenom stave, všetky služby PHP-FPM boli reštartované a vy to viete preukázať stavom balíkov a časom spustenia procesov. Číslo verzie zobrazené v paneli na to samo nestačí, pretože backporty ho často nechávajú nezmenené.

O čo ide pri PHP2Shell na serveroch s Plesk

PHP2Shell označuje dve kritické zraniteľnosti v samotnom PHP (CVE-2026-109618 a CVE-2026-109619, obe CVSS v4.0 9.2). Umožňujú útočníkom spustiť kód na serveri bez prihlásenia. Dotknuté sú okrem iného PHP-FPM a Apache s mod_php, teda presne tie režimy prevádzky, ktoré Plesk zriaďuje pre weby.

Dňa 21. 10. 2026 projekt PHP zverejnil opravené verzie 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Pre PHP 8.1 a staršie už oficiálne aktualizácie neexistujú. Servery s Plesk majú jednu osobitosť: často tu beží viac verzií PHP vedľa seba, niektoré od samotného Plesk, iné od operačného systému. Každá z nich vyžaduje samostatnú kontrolu.

Dôležité

Aktualizácia v paneli nahrádza súbory na disku. Kým v pamäti bežia staré procesy PHP, zraniteľnosť zostáva otvorená. Bez reštartu všetkých workerov záplata nie je účinná.

Aktualizácia PHP v Plesk: najprv zistite stav

Skôr než čokoľvek aktualizujete, zostavte si zoznam všetkých handlerov PHP a domén, ktoré ich používajú. Dá sa to cez panel (Nástroje a nastavenia, Nastavenia PHP) alebo z príkazového riadku. Nasledujúce príkazy nič nemenia, iba čítajú.

# Všetky registrované handlery PHP s verziou a cestou
plesk bin php_handler --list

# Verzia každej verzie PHP nainštalovanej cez Plesk (cesta ako príklad)
for p in /opt/plesk/php/*/bin/php; do echo "$p"; "$p" -v | head -1; done

Pre každý handler si poznačte: verziu, režim prevádzky (FPM, FastCGI, modul Apache) a počet domén. Handlery bez domény nie sú uvoľnením. Môžu sa neskôr priradiť alebo bežať na testovacích subdoménach.

Skontrolujte stav balíkov, nie zobrazenie

Plesk zobrazuje číslo verzie, ktoré hlási samotné PHP. Ak Plesk alebo distribúcia dodá opravu ako backport, môže tam naďalej stáť napríklad 8.2.34, hoci oprava je obsiahnutá. Naopak, na pohľad aktuálne číslo môže klamať, ak balík ešte nebol dotiahnutý. Rozhodujúci je nainštalovaný stav balíkov a písomné potvrdenie poskytovateľa.

# Debian/Ubuntu (názvy balíkov ako príklad)
dpkg -l | grep -E 'plesk-php|php[0-9.]+-(fpm|cli)'

# AlmaLinux/Rocky/RHEL (názvy balíkov ako príklad)
rpm -qa | grep -E 'plesk-php|^php' | sort

Porovnajte verzie balíkov s údajmi v changelogoch Plesk a s upozorneniami vašej distribúcie. Ak tam nie je jednoznačne zdokumentované, že CVE-2026-109618 a CVE-2026-109619 sú opravené, opýtajte sa poskytovateľa. Vzor nájdete na stránke Opýtajte sa hostingu na stav záplat.

Nasaďte aktualizáciu a reštartujte všetkých workerov

Samotná aktualizácia prebieha cez inštalátor Plesk alebo správcu balíkov systému. Potom nasleduje krok, ktorý chýba najčastejšie: reštart. Každá verzia PHP má v Plesk vlastnú službu FPM. Reštartujte všetky, nielen službu hlavnej domény.

# Zoznam všetkých služieb PHP-FPM (názvy služieb ako príklad)
systemctl list-units --type=service | grep -i 'php.*fpm'

# Reštart jednotlivých služieb, napr.:
systemctl restart plesk-php84-fpm

# Kontrola času spustenia bežiacich procesov PHP
ps -eo pid,lstart,cmd | grep -E 'php-fpm|php-cgi' | grep -v grep

Ak doména beží s Apache a mod_php, reštartujte Apache úplne. Ak je čas spustenia procesu PHP skôr než aktualizácia, proces ešte nebol obnovený. Viac k tomuto kroku nájdete na stránke Reštart PHP-FPM a všetkých workerov.

Prechodná ochrana, kým aktualizácia chýba

Ak pre niektorú verziu ešte nie je záplata k dispozícii, php.net odporúča prechodné opatrenia. Nie sú to úplná ochrana. V Plesk nastavte hodnoty, ktoré aplikácie nesmú prepísať, ako php_admin_value v dodatočných direktívach FPM domény alebo celoserverovo v php.ini príslušnej verzie.

; Príklad dodatočných direktív PHP-FPM v Plesk
php_admin_value[session.upload_progress.enabled] = 0
php_admin_value[post_max_size] = 8M
php_admin_value[upload_max_filesize] = 6M

Pri nahrávaní súborov je podľa php.net určené post_max_size = 32M, pričom upload_max_filesize je nižšie. Pri PHP 8.5 pribúda fatal_error_backtraces=0. Obmedzenie pamäte cez memory_limit=-1 sa smie používať iba spolu s hranicou na úrovni kontajnera alebo cgroup. Potom opäť nasleduje reštart všetkých workerov. Podrobnosti nájdete na stránke Okamžité opatrenia bez záplaty. BSI (nemecký Spolkový úrad pre informačnú bezpečnosť) odporúča webové servery dočasne odpojiť od siete, ak aktualizácia nie je možná okamžite.

Po záplate: zabezpečte logy a skontrolujte stopy

Záplata uzavrie zraniteľnosť do budúcnosti. Neodstráni škodlivý softvér, ktorý bol zavlečený predtým, a nedokazuje, že sa nič nestalo. Preto uchovajte logy webového servera od 20. 10. 2026. Plesk ich ukladá pre každú doménu v adresári logs; v tejto situácii skracovanie doby uchovávania nenastavujte.

Dávajte pozor na nové alebo zmenené súbory PHP v adresároch na nahrávanie, neznáme plánované úlohy a nové účty administrátorov. Zverejnené, potvrdené Indicators of Compromise zatiaľ neexistujú; detekcia sa opiera o analýzu správania. Ak nájdete niečo nápadné, nepokračujte na vlastnú päsť, ale najprv zabezpečte stav.

Ako konkrétne pomáha PHP SOS?

  • Zaznamenáme všetky handlery PHP vášho servera s Plesk, priradíme domény a skontrolujeme skutočný stav balíkov pre každú verziu.
  • V rámci našej služby záplatovania PHP nasadíme aktualizácie, reštartujeme všetky služby a ako dôkaz zdokumentujeme časy spustenia procesov.
  • Kde záplata chýba, nastavíme prechodné opatrenia podľa php.net celoserverovo a tak, aby sa nedali prepísať.
  • Zabezpečíme logy a hľadáme stopy kompromitácie, pri náleze s reakciou na incident (Incident Response).
  • Potom server trvalo spevníme a odstránime verzie PHP, ktoré nie sú potrebné.

Časté otázky

Prečo Plesk po aktualizácii stále zobrazuje PHP 8.2.34?

Distribúcie a poskytovatelia niekedy nasadzujú bezpečnostné opravy ako backport bez zmeny čísla verzie. Rozhodujúci je potom stav balíkov a potvrdenie poskytovateľa. Samotné zobrazenie neprezrádza ani to, že záplata je nasadená, ani to, že chýba.

Stačí v paneli Plesk kliknúť na Aktualizovať?

Aktualizácia ukladá nové súbory, ale bežiace procesy PHP pracujú ďalej so starým kódom v pamäti. Nový stav je aktívny až po reštarte všetkých služieb PHP-FPM a webového servera. Potom skontrolujte čas spustenia procesov.

Musím záplatovať aj verzie PHP, ktoré nepoužíva žiadna doména?

Áno, ak zostávajú nainštalované. Nepoužívaný handler sa môže neskôr omylom priradiť alebo byť dostupný cez testovacie prostredia. Verzie, ktoré nepotrebujete, radšej odinštalujte úplne.

Pomôže proti PHP2Shell aktualizácia WordPressu v Plesk Toolkit?

Nie. PHP2Shell sa týka samotného PHP, nie CMS. Aktualizácia CMS je napriek tomu užitočná, túto zraniteľnosť však neuzavrie.

Zdroje

Okamžitý kontakt

Každá hodina sa počíta. Napíšte nám hneď.

Stručne opíšte systém, verziu PHP a svoje pozorovanie. Ozveme sa, vyjasníme situáciu a budeme pracovať na diaľku, kým nebude incident uzavretý a zdokumentovaný.

Okamžitá pomoc