PHP2Shell: dvě kritické chyby v PHP, opravit na 8.4.27 nebo 8.3.36
Zdroj: Jeff Geerling
Dvě kritické chyby v PHP vyšly 21. října 2026 pod souhrnným názvem PHP2Shell: CVE-2026-109618 (RCE přes OOM corruption) a CVE-2026-109619 (RCE přes stale global state), obě s CVSS v4.0 9,2. Opravy jsou v 8.2.35, 8.3.36, 8.4.27 a 8.5.12 — kdo má na serveru starší verzi, měl by ji mít opravenou už teď.
Co se stalo
PHP tým oznámil vydání kritické opravy 20. října, balíčky vyšly o den později. Během několika hodin po zveřejnění se objevily první demonstrace zneužití v divočině a část provozovatelů raději vypnula veřejné služby úplně, dokud verzi neopravila. Chyby se netýkají jen nejnovější větve: postižené jsou všechny podporované verze před opravami a také všechny verze na konci životnosti.
Jak to funguje
Obě chyby zneužívají zpracování chyb. Při vyčerpání paměti (OOM) se PHP přeruší v okamžiku, kdy jsou data požadavku jen částečně inicializovaná, a úklidová rutina pak pracuje s neplatnými daty. Kód, který to řeší, je v PHP zhruba dvacet let — proto je zásah tak citlivý a proto se oprava nedala obejít konfigurací.
Co udělat hned
- Zjistit verzi:
php -vna každém hostu a u každé služby, včetně kontejnerů. - Aktualizovat na 8.2.35, 8.3.36, 8.4.27 nebo 8.5.12 a restartovat PHP-FPM.
- Projít kontejnery — obraz s vlastním PHP se neopraví s hostem.
- Zkontrolovat end-of-life verze. Pokud někde běží 7.x nebo 5.x, oprava neexistuje a jediná možnost je upgrade nebo vypnutí služby.
- Na RHEL a klonech pozor: komunitní Remi repo nebylo v době vydání aktualizované, dočasně je nutné přejít na oficiální repozitáře.
Širší ponaučení
Jeff Geerling ve svém textu připomněl, že podobné dny jsou argument pro statické weby: jeho web běží na Hugu a útočná plocha je proti PHP redakčnímu systému řádově menší. Není to dogma — je to otázka, kolik dynamiky ten který web skutečně potřebuje.
Pro správce serveru: nejdřív zjistěte, kde všude PHP běží. U firemních serverů to obvykle není jeden stroj, ale pět kontejnerů a zapomenutý monitoring z roku 2019. Teprve pak řešte upgrade — a po něm zkontrolujte logy, protože exploity byly v oběhu dřív než většina oprav.
Zdroje
- Upgrade your PHP installs immediately to protect against php2shell — Jeff Geerling
- PHP2Shell Operational Guidance — NVISO
Odkazy vedou na primární zdroje. Text článku je redakční shrnutí, ne převzatá zpráva.