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ší.
- 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.
- 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.
- 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.
- 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í.
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
- 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.
- V následujících dnech: Nasadit doložený backport, pokud možno z vlastní distribuce nebo s písemným potvrzením poskytovatele.
- Souběžně: Ověřit kompatibilitu aplikace s podporovanou verzí a stanovit harmonogram.
- 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.