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 →

Upgrade PHP, nebo backport? Rozhodnutí pro starší systémy

Pro staré verze PHP existuje po PHP2Shell několik cest: backport distribuce, zdroj třetí strany, zdrojová záplata, dlouhodobá podpora nebo upgrade. Co která cesta stojí za to a jak dlouho nese.

Stav 4 min čteníPodklady pro rozhodování

Stručně: Zda je správnou volbou upgrade PHP, nebo backport, závisí na tom, jak dlouho má systém ještě běžet a jak dobře je backport doložen. Backport vlastní distribuce na podporovaném operačním systému je plnohodnotná cesta. Zdrojové backporty, zdroje třetích stran a komerční dlouhodobá podpora pro PHP 8.1 a starší jsou mosty s datem platnosti. Dlouhodobě pomůže jen přechod na verzi PHP, kterou projekt PHP ještě oficiálně podporuje.

Proč otázka po PHP2Shell naléhá

Dne 21. 10. 2026 projekt PHP opravil PHP2Shell ve verzích 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Pro PHP 8.1 a starší už neexistují oficiální vydání, jen minimální zdrojové backporty pro 7.4, 8.0 a 8.1. Podle odborného tisku je postiženo téměř každé vydání až zpět k PHP 5.4.

Mnozí provozovatelé starších systémů tak stojí před toutéž otázkou: Stačí zranitelnost nějak záplatovat, nebo musí přijít upgrade, který se roky odkládal? Co upgrade prakticky znamená, popisuje naše nabídka migrace z PHP 8.1 a starších. Co platí bez oficiální aktualizace, najdete v PHP 8.1 a starší: co nyní platí. Tento příspěvek pomáhá s rozvahou mezi tím.

Jaké druhy backportů existují

„Backport“ je souhrnný pojem. Vždy se tím myslí, že se oprava z novější verze přebírá do starší. Kdo to dělá a jak dobře je to ověřeno, se ale výrazně liší.

  1. Backport distribuce: Debian, Ubuntu, Red Hat a další přebírají bezpečnostní opravy do balíčků PHP svých podporovaných vydání. Číslo verze přitom často zůstává stejné; podle zpráv například Ubuntu 24.04 po aktualizaci dál ukazuje 8.3.6. Oprava se dokládá changelogem balíčku a bezpečnostními hlášeními distribuce.
  2. Zdroj třetí strany: Repozitář sury.org Ondřeje Surýho poskytoval podle zpráv buildy pro všechny větve od 5.6 do 8.5. Není to bezpečnostní archiv Debianu. Podrobnosti najdete v Repozitář sury.org.
  3. Zdrojový backport projektu PHP: Pro 7.4, 8.0 a 8.1 existují minimální záplaty ve zdrojovém kódu, ale žádná hotová vydání. Kdo je používá, musí PHP sám sestavit, otestovat a do budoucna udržovat.
  4. Komerční dlouhodobá podpora: Poskytovatelé jako TuxCare ELS nebo Zend/HeroDevs nabízejí péči o staré verze. Zda a kdy pokrývají PHP2Shell, je třeba nechat potvrdit písemně; ve známých zdrojích to doloženo nebylo. Více v Dlouhodobá podpora starých verzí PHP.

Upgrade PHP, nebo backport: srovnání

Kritérium Upgrade na podporovanou verzi Backport (podle druhu)
Ochrana před PHP2Shell Ano, s 8.2.35, 8.3.36, 8.4.27 nebo 8.5.12 Ano, pokud je úplný a doložený
Budoucí bezpečnostní aktualizace Oficiálně do konce podpory verze Jen dokud poskytovatel udržuje
Doklad Číslo verze plus restart Changelog balíčku s čísly CVE, potvrzení poskytovatele
Pracnost nyní Střední až vysoká, nutné testy kompatibility Nízká u distribuce, vysoká u vlastního sestavení
Pracnost později Nízká až do dalšího skoku verze Roste s každou novou zranitelností
Riziko pro aplikaci Nekompatibility se starým kódem a rozšířeními Nízké, chování zůstává do značné míry stejné
Vhodnost jako trvalé řešení Ano Jen backport distribuce v rámci podporovaného operačního systému

Řádek „Pracnost později“ je nejdůležitější. PHP2Shell nebude poslední zranitelností. Každý měsíc na verzi bez oficiální podpory znamená, že další hlášení opět vyvolá stejnou otázku.

Jaká cílová verze při upgradu?

Podle php.net platí pro každou větev PHP: dva roky aktivní podpory, poté dva roky pouze bezpečnostní opravy. Z toho vyplývají tato data konce bezpečnostní podpory:

Verze Bezpečnostní podpora do
PHP 8.2 31. 12. 2026
PHP 8.3 31. 12. 2027
PHP 8.4 31. 12. 2028
PHP 8.5 31. 12. 2029

Upgrade na 8.2 je proto už jen krátkou zastávkou. Kdo stejně migruje, měl by zvolit verzi s delším horizontem, pokud ji CMS, e-shop a rozšíření podporují. To ověřte v systémových požadavcích výrobce, ne z paměti. Jak funguje cyklus vydání, vysvětluje Verze PHP a cyklus vydání.

Důležité

Ať zvolíte jakoukoli cestu: Po nasazení se musí restartovat všechny procesy PHP. Backport, který leží jen na disku, nechrání, dokud v paměti běží staří workeři.

Pragmatické pořadí pro starší systémy

  1. Okamžitě: Nastavit přechodná opatření podle php.net nebo systém dočasně odpojit od sítě, pokud není dostupná doložená oprava.
  2. V následujících dnech: Nasadit doložený backport, pokud možno z vlastní distribuce nebo s písemným potvrzením poskytovatele.
  3. Souběžně: Ověřit kompatibilitu aplikace s podporovanou verzí a stanovit harmonogram.
  4. V následujících měsících: Upgrade na cílovou verzi, připravený v testovací kopii, se záložním plánem.

Klíčová myšlenka je vnímat backport jako most, ne jako cíl.

Kdy k tomu dodavatele nepotřebujete

Pokud váš server běží na podporovaném Debianu, Ubuntu nebo RHEL a distribuce backport dodává, stačí běžná aktualizace s restartem a pohled do changelogu. To zvládne zkušený administrátor sám. Pomoc se vyplatí u vlastních sestavení, zdrojů třetích stran, velmi starých verzí nebo aplikace, jejíž kompatibilitu už nikdo nepřehlédne.

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

  • Kontrolujeme, jaké verze PHP a zdroje balíčků na vašich serverech běží a zda existuje doložená oprava.
  • Nasazujeme backporty, restartujeme a dokládáme doklad přes changelog.
  • Vaši aplikaci testujeme v kopii proti cílové verzi a pojmenováváme nekompatibility.
  • Upgrade plánujeme a doprovázíme v rámci migrace z PHP 8.1 a starších.

Závěr

Backport distribuce je plnohodnotná cesta, všechny ostatní backporty jsou mosty. Kdo uvízl na PHP 8.1 nebo starším, měl by backport využít k získání času na upgrade, ne k jeho dalšímu odkládání.

Časté dotazy

Je backport stejně bezpečný jako upgrade?

Pro konkrétně opravenou zranitelnost může být backport rovnocenný, pokud je úplný a doložený. Opravuje ale jen to, co bylo přeneseno. Upgrade na podporovanou verzi navíc přináší všechny budoucí oficiální bezpečnostní aktualizace.

Podle čeho poznám, že můj backport PHP2Shell pokrývá?

Podle changelogu balíčku: Měla by v něm být uvedena čísla CVE CVE-2026-109618 a CVE-2026-109619. V Debianu a Ubuntu to ukáže apt-get changelog, v rodině RHEL rpm -q --changelog. Samotné číslo verze není doklad.

Jak dlouho dostává PHP 8.2 ještě bezpečnostní aktualizace?

Podle php.net končí bezpečnostní podpora PHP 8.2 dne 31. 12. 2026. Kdo dnes aktualizuje na 8.2, měl by tedy hned naplánovat i další krok.

Vyplatí se komerční dlouhodobá podpora starých verzí PHP?

Může být mostem, pokud je upgrade krátkodobě nemožný. Nechte si písemně potvrdit, zda a od kdy pokrývá PHP2Shell. V dosud známých zdrojích to doloženo nebylo.

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