Stručne: Kto si chce nechať nasadiť aktualizáciu PHP, potrebuje viac než nové balíky: rozhodujú správny stav balíkov, reštart všetkých procesov PHP a doklad o tom. Presne to poskytuje naša služba záplatovania PHP. Dostanete písomný doklad pre každý server, ktorý môžete predložiť interne alebo tretím stranám.
Prečo samotná aktualizácia PHP často nestačí
Od 21. 10. 2026 existujú záplaty pre zraniteľnosti PHP2Shell CVE-2026-109618 a CVE-2026-109619. BSI (nemecký Spolkový úrad pre informačnú bezpečnosť) odporúča okamžitú aktualizáciu. V praxi vidíme tri typické úskalia.
Po prvé, číslo verzie nie vždy ukazuje skutočný stav. Distribúcie a poskytovatelia hostingu čiastočne nasadzujú backporty; Plesk potom napríklad naďalej hlási 8.2.34, hoci stav balíka je záplatovaný. Po druhé, po nasadení často bežia ďalej staré procesy PHP. Nové súbory na disku nechránia, kým pracujú starí workeri v pamäti. Po tretie, na jednom serveri často beží paralelne viac verzií PHP a jedna z nich sa zabudne.
Aktualizácia PHP na kľúč: opravené verzie
| Vetva | Opravené od | Predchádzajúci stav | Poznámka |
|---|---|---|---|
| PHP 8.5 | 8.5.12 | 8.5.11 | navyše skontrolovať fatal_error_backtraces |
| PHP 8.4 | 8.4.27 | 8.4.26 | |
| PHP 8.3 | 8.3.36 | 8.3.35 | |
| PHP 8.2 | 8.2.35 | 8.2.34 | podpora končí 31. 12. 2026 |
| PHP 8.1 a staršie | žiadne oficiálne aktualizácie | – | iba minimálne backporty zdrojového kódu pre 7.4, 8.0, 8.1 |
Pri balíkoch z distribúcií alebo od poskytovateľov hostingu nerozhoduje číslo za slovom „PHP“, ale stav balíka, ktorý poskytovateľ potvrdí ako záplatovaný. Ako si to preveriť sami, nájdete na stránke Správne overenie verzie a stavu záplat PHP.
Ako konkrétne pomáha PHP SOS?
- Inventúra: Zaznamenáme všetky inštalácie PHP na serveri, spôsob prevádzky (PHP-FPM, mod_php, php-cgi, FrankenPHP, LiteSpeed) a ktorý web používa ktorú verziu.
- Nasadenie aktualizácie: Nainštalujeme opravené verzie zo zdroja balíkov vašej distribúcie, vášho panelu alebo oficiálneho projektu. Pre kontajnery s vami zostavíme nové image.
- Reštart všetkých procesov: PHP-FPM, Apache, LiteSpeed alebo príslušných workerov úplne reštartujeme a skontrolujeme, že žiadny proces nie je starší než aktualizácia. Súvislosti nájdete na stránke Reštart PHP-FPM a všetkých workerov.
- Kontrola funkčnosti: Otvoríme najdôležitejšie stránky a funkcie, napríklad úvodnú stránku, prihlásenie, formuláre a pokladňu, a skontrolujeme chybové protokoly.
- Doklad: Pre každý server dostanete protokol s verziou, stavom balíkov, časom reštartu a otvorenými bodmi.
Typický kontrolný krok po reštarte vyzerá takto:
# Verzia PHP CLI a binárky FPM (cesta podľa systému)
php -v
php-fpm8.3 -v
# Čas spustenia procesov FPM: musí byť po aktualizácii
ps -o pid,lstart,cmd -C php-fpm8.3
Osobitné prípady: panely, kontajnery a viac verzií PHP
Na serveroch s Plesk alebo cPanel pochádzajú verzie PHP často zo zdrojov balíkov panelu, a nie z distribúcie. Tam preveríme každú nainštalovanú verziu zvlášť, aj tie, ktoré momentálne nie sú priradené k žiadnemu webu. Nepoužívané, zastarané verzie po dohode odstránime, aby sa omylom znova neaktivovali.
V prostrediach Docker a Kubernetes nestačí aktualizácia na hostiteľovi. PHP sa nachádza v image a zraniteľnosť uzavrie až novo zostavený image so záplatovaným základom, nasadený na všetky bežiace kontajnery. Pritom kontrolujeme aj to, či sa v registroch alebo nasadeniach ešte nepoužívajú staršie image. Podrobnosti nájdete na stránke Záplatovanie PHP v kontajneroch Docker.
Pri mod_php beží PHP priamo v procese Apache. Tím PHP tam hodnotí riziko ako najvyššie. Po aktualizácii sa preto musí Apache úplne reštartovať, samotné opätovné načítanie konfigurácie nie vždy stačí.
Čo od nás dostanete
- protokol o záplatovaní pre každý server: nainštalované balíky, verzie, zdroj, čas
- doklad, že všetky procesy PHP boli reštartované
- zoznam preverených webov a funkcií
- upozornenia na systémy, ktoré sa nepodarilo záplatovať, s odôvodnením
- odporúčanie na ďalší postup, napríklad pri PHP 8.2 kvôli blízkemu koncu podpory
Čo potrebujeme od vás
- Prístup: SSH s právami administrátora alebo prístup do panelu (Plesk, cPanel a pod.)
- Servisné okno: kedy sa smie uskutočniť krátky reštart
- Kontaktná osoba: na doplňujúce otázky a na schválenie po kontrole funkčnosti
- Zálohy: potvrdenie, že existuje aktuálna záloha, alebo zadanie, aby sa predtým vytvorila
- Pokyny k vlastným vývojom: osobitné rozšírenia PHP alebo konfigurácie, ktoré treba rešpektovať
Pri zdieľanom hostingu bez vlastného prístupu na server nemôžeme záplatovať sami. Pomôžeme vám potom položiť poskytovateľovi hostingu správne otázky a zhodnotiť odpoveď.
Čo nesľubujeme
Služba záplatovania uzavrie známu zraniteľnosť. Neodpovedá na to, či bol server pred aktualizáciou už kompromitovaný, a neodstraňuje zavlečený škodlivý softvér. Ak to chcete vedieť, vhodným zadaním je okamžitá pomoc pri PHP2Shell s hľadaním stôp.
Pre PHP 8.1 a staršie už neexistujú oficiálne aktualizácie. Tu zavedieme prechodné opatrenia a odporúčame migráciu na podporovanú verziu. Záruku kompatibility pre vaše CMS nedávame z pamäte, ale preverujeme ju podľa systémových požiadaviek výrobcu.
Časté otázky
Prečo môj server po aktualizácii stále zobrazuje starú verziu PHP?
Môžu byť dva dôvody. Buď distribúcia nasadila backport, a potom číslo verzie zostane rovnaké, hoci stav balíka je záplatovaný. Alebo staré procesy PHP ešte bežia v pamäti a treba ich reštartovať.
Ktoré verzie PHP uzatvárajú PHP2Shell?
Zraniteľnosť je opravená v PHP 8.5.12, 8.4.27, 8.3.36 a 8.2.35, zverejnených 21. 10. 2026. Pri distribučných balíkoch rozhoduje stav balíka, ktorý poskytovateľ potvrdí ako záplatovaný.
Môže aktualizácia vyradiť môj web z prevádzky?
Aktualizácia v rámci tej istej hlavnej verzie, napríklad z 8.3.35 na 8.3.36, je spravidla nekritická. Krátky reštart procesov PHP je však nutný. Časové okno s vami dohodneme a stránky potom skontrolujeme.
Je so záplatou všetko vybavené?
Pre samotnú zraniteľnosť áno, hneď ako sú všetky procesy reštartované. Či sa niekto dostal dnu už pred záplatou, záplata neukáže. Na to je potrebná samostatná kontrola.