IT

PHP2Shell: dvě kritické chyby v PHP, opravit na 8.4.27 nebo 8.3.36

Zdroj: Jeff Geerling

Grafika s označením PHP2Shell a číslem CVE-2026-109618
Ilustrace: redakce

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

  1. Zjistit verzi: php -v na každém hostu a u každé služby, včetně kontejnerů.
  2. Aktualizovat na 8.2.35, 8.3.36, 8.4.27 nebo 8.5.12 a restartovat PHP-FPM.
  3. Projít kontejnery — obraz s vlastním PHP se neopraví s hostem.
  4. 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.
  5. 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

  1. Upgrade your PHP installs immediately to protect against php2shell — Jeff Geerling
  2. PHP2Shell Operational Guidance — NVISO

Odkazy vedou na primární zdroje. Text článku je redakční shrnutí, ne převzatá zpráva.