Ve středu večer Úřad vlády ČR na zhruba dvě hodiny vypnul svůj web. Ne kvůli útoku. Preventivně, aby stihl opravit PHP, na kterém web běží. Některé weby odstavil i Český hydrometeorologický ústav, mezi nimi hydro.chmi.cz, a Drážní úřad měl po aktualizacích několik desítek minut nefunkční web. Podobně postupovaly vládní úřady v Nizozemsku, Francii nebo Finsku.
Důvodem jsou dvě chyby v PHP, kterým se říká php2shell. NÚKIB k nim ve středu vydal upozornění s jasným závěrem: jediným řešením je aktualizace, a to hned. Úřad vlády má vlastní IT a dvě hodiny výpadku si mohl dovolit. Firma, které web před lety postavila agentura a od té doby na server nikdo nesáhl, často ani neví, komu má zavolat.
PHP přitom podle W3Techs pohání 69,3 % webů, u kterých je serverový jazyk známý. Stojí na něm WordPress, Drupal, Joomla, PrestaShop a s nimi spousta e-shopů, intranetů a klientských zón. Pokud máte web, je dost pravděpodobné, že se vás to týká.
PHP 21. října vydalo opravné verze 8.2.35, 8.3.36, 8.4.27 a 8.5.12. Opravují dvě chyby, CVE-2026-109618 a CVE-2026-109619. Obě mají skóre závažnosti 9,2 z 10. Podle bezpečnostního týmu PHP obě můžou útočníkovi umožnit spustit na serveru vlastní kód na dálku, bez jakéhokoli přihlášení.
Tři věci z php2shell dělají víc než běžnou zranitelnost:
- Chyba je v PHP samotném, ne v aplikaci. Ohrožené jsou podle PHP všechny instalace, které obsluhují webové požadavky, ať běží přes PHP-FPM, Apache s mod_php, php-cgi, FrankenPHP nebo LiteSpeed. Nejvyšší riziko vidí PHP u mod_php. Tam předvedlo útok, ke kterému stačí nepřihlášený požadavek a který proběhne dřív, než se spustí jakýkoli kód vašeho webu.
- Je stará. Firma Wiz, která chyby nahlásila, píše, že jsou v kódu přes deset let a týkají se verzí až po PHP 5.4. Při hledání jí podle vlastních slov pomáhaly AI modely.
- Nemá úplné obejití. Dočasná nastavení, která PHP popisuje, podle něj instalaci bezpečnou neudělají. Pomáhá jen aktualizace.
Vydání oprav bylo původně naplánované na čtvrtek. V úterý 20. října ráno ale na Hacker News unikla zpráva, že se chystá zveřejnění dvou kritických chyb. PHP proto vydání posunulo na středu.
Amazon zachytil na svých návnadových serverech pokus o zneužití už 17. října, čtyři dny před zveřejněním. V noci na středu, ještě před vydáním oprav, se objevily první ukázkové exploity. Pokusy o útok hlásí Cloudflare, watchTowr i Patchstack. Amazon píše, že php2shell je „nyní široce zneužíván.“
Poctivě: úspěšný průnik zatím nikdo veřejně nepotvrdil. Americká agentura CISA v době svého upozornění zneužití nezaznamenala a k 21. říjnu chyby nebyly v jejím katalogu aktivně zneužívaných zranitelností. Amazon sám připouští, že neví, jestli by zachycené pokusy na skutečných serverech uspěly.
Na potvrzení ale nečekejte. Až přijde, bude pozdě. Amazon k tomu dává radu, kterou si stojí za to zapamatovat: dobu na opravu kritické zranitelnosti na internetu měřte v hodinách, ne ve dnech. Totéž jsme psali v dubnu: AI zkracuje čas od objevení chyby k jejímu zneužití. php2shell je přesně ten scénář. Chybu pomohla najít AI a útočníci zkoušeli útočit dřív, než vyšla oprava. Jak rychle dnes modely zranitelnosti hledají, jsme popsali u modelu Claude Mythos.
Tady je nejčastější omyl: „Máme aktuální WordPress i pluginy, jsme v pohodě.“ Nejste. Chyba není ve WordPressu ani v pluginu, ale v PHP, na kterém WordPress běží. Aktualizovat aplikaci je dobře, tuhle díru to ale nezavře. Oprava musí proběhnout na serveru.
Rozhodující otázka tedy zní: kdo u vás spravuje PHP?
| Kde web běží | Kdo PHP opravuje | Co udělat vy |
|---|
| Sdílený webhosting | Hosting | Zjistěte v administraci, jakou verzi PHP máte zvolenou. Stará verze nemusí mít opravu. |
| VPS, vlastní server, server od agentury | Vy nebo váš dodavatel | Aktualizovat dnes a restartovat PHP procesy. Nikdo jiný to za vás neudělá. |
| Pronajatý e-shop nebo web jako služba | Provozovatel platformy | Ověřit, že o tom ví. Víc udělat nemůžete. |
| Cloudová platforma pro aplikace (Google App Engine, Cloud Run a podobné) | Poskytovatel opraví prostředí | Zjistěte v dokumentaci, jestli se oprava projevila sama. Často je potřeba aplikaci znovu sestavit a nasadit. |
| Software, který PHP obsahuje (administrační panely, firemní aplikace) | Výrobce | Hledat jeho aktualizaci. CISA na tuhle skupinu výslovně upozorňuje. |
Pozor na číslo verze. Kontrola „máme 8.4.27?“ může dát falešný poplach. Linuxové distribuce a poskytovatelé často doplní opravu do verze, kterou už mají, a hlavní číslo nezmění. Opravený balíček PHP pro Ubuntu 24.04 má například verzi 8.3.6-0ubuntu0.24.04.13. Vychází tedy pořád z 8.3.6, ne z 8.3.36. Totéž platí pro hostingy, které opravily i starší verze. Rozhoduje potvrzení od poskytovatele nebo distribuce, ne samotné číslo.
U cloudových platforem navíc nestačí, že poskytovatel opravu vydal. Google uvádí, že na App Engine flexible, na Cloud Run bez automatických aktualizací a ve vlastních kontejnerech je potřeba aplikaci znovu sestavit a nasadit. Jinak dál běží ve starém prostředí. Když si nejste jistí, nasaďte znovu.
Nejhůř jsou na tom weby na serveru, o který se nikdo nestará. Typicky po agentuře, se kterou už nespolupracujete. Tam se samo nic neaktualizuje.
Opravené verze vyšly jen pro PHP 8.2 až 8.5. PHP 8.1 a starší projekt už nepodporuje. Pro verze 7.4, 8.0 a 8.1 bezpečnostní tým kvůli závažnosti zveřejnil aspoň minimální opravy ve zdrojovém kódu, oficiální vydání ale nebude. Pro ještě starší verze nic.
Podle W3Techs běží 26,9 % webů s PHP na verzi 7 a 7,7 % dokonce na verzi 5. Víc než třetina PHP webů tedy jede na verzi, pro kterou projekt PHP oficiální opravu nevydal. A to nepočítáme verze 8.0 a 8.1, které jsou na tom stejně.
Část hostingů staré verze opraví sama. Jak daleko, se liší:
- Český hosting nasadil pro PHP 7.4, 7.3 a 5.6 opravné balíky z rozšířené podpory. Pro PHP 5.2 až 5.5 opravy neexistují, hosting jen omezil nahrávání dat a bez přechodu na novější verzi se to nevyřeší.
- Active24 podle své stavové stránky z 22. října opravil všechny podporované verze od 5.6 výš.
- WEDOS opravil PHP 8.2 až 8.5. U verzí 8.1 a starších podle své podpory zranitelnou funkci jen preventivně vypnul a důrazně doporučuje přejít aspoň na PHP 8.2.
Vypnutá funkce není oprava. PHP i NÚKIB upozorňují, že žádné nastavení chyby úplně neřeší. Kdo léta odkládal upgrade PHP, protože „to přece funguje,“ platí teď. A pozor: i PHP 8.2 končí s bezpečnostní podporou 31. prosince 2026.
- Sepište, co vám běží na PHP. Web, e-shop, intranet, klientská zóna, administrace a také hotový software, který PHP obsahuje.
- U každého zjistěte verzi PHP a kdo ji spravuje. U hostingu v administraci, u vlastního serveru u správce nebo dodavatele. Když odpověď neznáte, je to první problém k vyřešení.
- Aktualizujte na 8.2.35, 8.3.36, 8.4.27 nebo 8.5.12, případně na opravený balíček vaší linuxové distribuce, a restartujte všechny PHP procesy. Na cloudové platformě aplikaci znovu nasaďte. Starou verzi převeďte na podporovanou.
- Když to dnes nejde, web odstavte. Přesně to udělal Úřad vlády a přesně to doporučují CISA i evropský CERT-EU. Dočasná nastavení a ochrana typu Cloudflare WAF riziko snižují, bezpečný web z vás ale neudělají. Sám technický ředitel Cloudflaru označil jejich pravidla jen za nouzové řešení.
- Hledejte stopy zpětně od 17. října, ne od zveřejnění. NÚKIB doporučuje hlídat neobvyklé procesy spouštěné službami PHP, neobvyklé požadavky s nahráváním souborů následované chybami paměti nebo opakovanými chybami 500 a nevysvětlené restarty PHP procesů. Bezpečnostní firmy k tomu přidávají nové PHP soubory ve webovém adresáři, nové naplánované úlohy a nové SSH klíče.
- Při podezření jednejte jako při incidentu. Server izolujte, zachovejte logy a vyměňte hesla a klíče, které aplikace používá. Wiz upozorňuje, že chyby umožňují i čtení paměti serveru, takže mohly uniknout. Pokud spadáte pod zákon o kybernetické bezpečnosti, incident hlásíte přes Portál NÚKIB.
- php2shell je chyba v PHP, ne ve vašem webu. Aktualizace WordPressu ani pluginů ji neopraví.
- Opravené verze jsou 8.2.35, 8.3.36, 8.4.27 a 8.5.12. Starší větve oficiální opravu nedostanou.
- Číslo verze neříká všechno. Opravu potvrdí poskytovatel nebo distribuce, na cloudové platformě aplikaci znovu nasaďte.
- Pokusy o útok běží od 17. října. Stopy kontrolujte od tohoto data.
- Nejde to opravit dnes? Odstavte web. Dvě hodiny výpadku jsou levnější než napadený server.
- Musíte vědět, kdo spravuje PHP pod vaším webem. Tentokrát na tom stojí všechno.
Nevíte, na jaké verzi PHP váš web nebo e-shop běží a kdo ho má opravit? Ozvěte se, podíváme se na to s vámi. Kdo chce mít jistotu i do budoucna, tomu bezpečnost systémů projdeme v rámci technického auditu.
- NÚKIB: upozornění na kritické zranitelnosti v PHP (21. 10. 2026) – opravené verze, výzva k okamžité aktualizaci, indikátory napadení.
- Portál NÚKIB: podrobné upozornění na php2shell – popis obou chyb, dočasná opatření, co hledat po aktualizaci.
- PHP: Security advisory (21. 10. 2026) – kdo je ohrožen, nejvyšší riziko u mod_php, opravy pro 7.4 až 8.1 jen ve zdrojovém kódu.
- PHP: GHSA-w8hw-w9fx-j79w a GHSA-6wmf-4rv5-p3rp – technické detaily obou chyb, skóre 9,2.
- CERT-EU: Security Advisory 2026–018 – ukázkové exploity v oběhu, doporučení odpojit neopravené servery.
- CISA: Critical Vulnerabilities in PHP Require Immediate Patching (21. 10. 2026) – zneužití v době vydání nezaznamenáno, doporučení odstavit, co nejde opravit.
- Amazon Threat Intelligence (21. 10. 2026) – pokus o zneužití 17. 10., oprava v hodinách, ne ve dnech.
- Huntress (20. a 21. 10. 2026) – únik informací, posun vydání, co hledat na serveru.
- Tenable: php2shell FAQ – původní termín vydání, slova Cloudflaru o prvních útocích.
- Wiz Research (21. 10. 2026) – nález s pomocí AI, stáří chyb, čtení paměti serveru.
- České noviny (ČTK) a ČT24 (21. 10. 2026) – odstávky webů Úřadu vlády, ČHMÚ a Drážního úřadu, zahraničí.
- Český hosting: řešení zranitelnosti PHP2Shell – které verze hosting opravil a kde je nutný upgrade.
- Active24: Kritické zranitelnosti PHP (22. 10. 2026) – záplaty pro podporované verze od 5.6 výš.
- WEDOS: opravené verze a PHP 8.1 a starší – odpovědi podpory WEDOS v poradně.
- Google Cloud: Responding to core PHP vulnerabilities (21. 10. 2026) – co Google opravil sám a kde je potřeba aplikaci znovu nasadit.
- Ubuntu: php2shell fixes available (21. 10. 2026) – verze opravených balíčků pro jednotlivá vydání Ubuntu.
- W3Techs: PHP – podíl PHP na webech a zastoupení verzí, stav k 22. 10. 2026.