
Bezpečnost
PHP2Shell: kritická chyba v PHP a co má udělat majitel webu
Dvě kritické chyby v PHP umožňují spustit na serveru cizí kód bez přihlášení. Vysvětlujeme, koho se týkají, jak zjistit verzi PHP na vašem webu a co udělat hned teď.

Co se stalo
Vývojáři PHP vydali 21. října 2026 mimořádné opravy dvou kritických zranitelností, které dostaly označení CVE-2026-109618 a CVE-2026-109619 a společnou přezdívku PHP2Shell. Obě umožňují útočníkovi na dálku spustit vlastní kód na serveru, a to bez jakéhokoli přihlášení. Útočník tak může ukrást data, podvrhnout obsah webu nebo server zneužít k dalším útokům.
Vážné je i to, jak rychle se útoky rozběhly. Podle Amazonu se první pokus o zneužití objevil už 17. října, tedy čtyři dny před vydáním oprav. Útoky v té době hlásil i Cloudflare. Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) doporučil PHP okamžitě aktualizovat. Některé instituce, například Úřad vlády ČR, Drážní úřad nebo ČHMÚ, své weby nebo jejich část kvůli opravám preventivně na několik hodin odstavily.

Týká se to i vašeho webu?
Pokud váš web běží na PHP, pravděpodobně ano. To platí pro každý web na WordPressu včetně e-shopů na WooCommerce a pro většinu dalších redakčních systémů a e-shopových řešení, která provozujete na vlastním hostingu nebo serveru. Nezáleží přitom na technickém nastavení serveru.
Podstatné je, že chyba není ve WordPressu ani v žádném pluginu, ale v PHP, na kterém web běží. Aktualizace WordPressu, šablony nebo pluginů vás tentokrát neochrání.
Pokud máte e-shop pronajatý jako službu, o server se stará provozovatel platformy. I tak se vyplatí zkontrolovat, jestli k situaci vydal oznámení, případně se zeptat svého vývojáře.
Aktualizace WordPressu ani pluginů tentokrát nepomůže. Opravit se musí samotné PHP na serveru, a to co nejdřív.
Kdo má aktualizaci na starosti
Kdo musí jednat, záleží na tom, kde web běží:
| Kde web běží | Kdo opravuje PHP | Co udělat vy |
|---|---|---|
| Sdílený webhosting | Poskytovatel hostingu | Ověřit u poskytovatele, že opravu nasadil, a v administraci zkontrolovat verzi PHP. Pro verze 8.1 a starší existují jen neoficiální opravy a záleží na tom, jestli je hosting nasadil. |
| Vlastní virtuální server (VPS) | Vy nebo váš dodavatel | Zajistit aktualizaci PHP a restart PHP služeb. Nikdo jiný to za vás neudělá. |
| Spravovaná platforma nebo pronajatý e-shop | Provozovatel platformy | Sledovat jeho oznámení. U některých cloudových služeb musí po aktualizaci aplikaci znovu nasadit váš vývojář. |
Jak zjistit, jakou verzi PHP máte
Ve WordPressu otevřete v administraci Nástroje → Stav webu → Informace a rozbalte sekci Server, kde najdete verzi PHP. Druhou možností je administrace hostingu, kde se verze PHP obvykle nastavuje pro každý web zvlášť.
Opravené verze jsou PHP 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Pokud máte ve své řadě stejnou nebo vyšší verzi (například 8.3.36 nebo 8.3.37), oprava je v ní. Po aktualizaci je navíc potřeba PHP služby na serveru restartovat, jinak může dál běžet stará verze.
Pro verze 8.1 a starší už projekt PHP opravené verze nevydává. Někteří poskytovatelé hostingu a linuxové distribuce opravy doplňují sami, ale spoléhat na to dlouhodobě nelze. Pokud web běží na PHP 8.1 nebo starším, berte to jako signál k přechodu na novější verzi. Ani PHP 8.2 nevydrží dlouho: bezpečnostní podpora této řady končí 31. prosince 2026.
Číslo verze ale nemusí říct všechno. Linuxové distribuce často opravu doplní do starší verze, aniž by číslo změnily. Spolehlivou odpověď vám proto dá až potvrzení od poskytovatele hostingu nebo správce serveru.

Co dělat, když aktualizace hned nejde
Vývojáři PHP sice zveřejnili dočasná opatření pro správce serverů, sami ale upozorňují, že žádná změna nastavení útoky úplně nezastaví. Jedinou skutečnou ochranou je oprava. Pokud ji nejde nasadit hned, doporučují bezpečnostní úřady omezit přístup k webu z internetu nebo ho do opravy dočasně vypnout. Stejně postupovaly i zmíněné instituce.
Pokud váš web chrání služba Cloudflare, máte výhodu: ta pro známé způsoby útoku nasadila dočasná pravidla, a to i v bezplatném tarifu. Je to užitečná pojistka navíc, ne náhrada aktualizace.
Jak poznat, jestli web nebyl napaden
První pokusy o útok se objevily dřív, než byly opravy k dispozici, takže po aktualizaci se vyplatí ověřit, že se nikdo do webu nedostal. NÚKIB jako možný příznak pokusu o zneužití uvádí neobvyklé procesy spouštěné službami PHP. To ale dokáže posoudit jen správce serveru. Jako majitel webu můžete zbystřit, pokud si všimnete například:
- nových administrátorských účtů, které nikdo nezakládal,
- neznámých souborů nebo změn v obsahu, které nikdo nedělal,
- přesměrování návštěvníků na cizí stránky,
- upozornění od hostingu, prohlížeče nebo Google Search Console.
Podle bezpečnostních výzkumníků může zranitelnost útočníkovi umožnit i přečíst část paměti serveru, kde mohou být hesla, přihlašovací tokeny nebo klíče k napojeným službám. Pokud máte podezření na napadení, nechte web obnovit ze zálohy pořízené před 17. říjnem a změňte hesla i přístupové klíče k platebním bránám, e-mailu a dalším službám.
Pokud web nebo e-shop uchovává osobní údaje zákazníků a útočník k nim mohl získat přístup, myslete i na GDPR. Únik osobních údajů je obvykle potřeba ohlásit do 72 hodin od chvíle, kdy se o něm dozvíte, Úřadu pro ochranu osobních údajů.
Jak jsme postupovali my
Weby našich klientů jsme začali řešit hned, jak se informace o chybě objevila. Postupovali jsme ve třech krocích:
- preventivní odstávka: weby jsme dočasně vypnuli, aby je útočníci nemohli zneužít, dokud nebude oprava k dispozici,
- kontrola: během odstávky jsme weby prověřili, jestli nenesou známky napadení,
- aktualizace a opětovné spuštění: jakmile vyšla opravená verze PHP, nasadili jsme ji a weby znovu zprovoznili.
Krátká odstávka je nepříjemná, ale u chyby, kterou útočníci začali zneužívat ještě před vydáním oprav, šlo o nejbezpečnější cestu.
Shrnutí
PHP2Shell je chyba v PHP, ne ve WordPressu, a opravit ji musí ten, kdo spravuje server. Zjistěte, na jaké verzi PHP váš web běží. Ověřte u hostingu, že je oprava nasazená. Pokud máte vlastní server, aktualizujte PHP hned. Pokud ještě používáte PHP 8.1 nebo starší, naplánujte přechod na novější verzi.
Nevíte, kde váš web běží ani kdo se o server stará? Napište nám a ověříme to s vámi.
Zdroje
- NÚKIB: NÚKIB upozorňuje na kritické zranitelnosti v PHP
- PHP: Podporované verze PHP
- ČT24: NÚKIB vyzval weby s PHP k aktualizaci, Úřad vlády odstavil své stránky
- Seznam Zprávy: Kritická chyba v PHP
- Help Net Security: PHP2Shell vulnerabilities patched (anglicky)
- BleepingComputer: PHP ships emergency patches for critical PHP2Shell flaws (anglicky)
- Qualys: PHP2Shell: Find, Mitigate, and Patch Now (anglicky)
Další články e-mailem
Když napíšeme něco nového, pošleme vám to.
Zkontrolujte e-mail
Poslali jsme vám odkaz pro potvrzení odběru. Novinky začnou chodit, až na něj kliknete. Když e-mail do pár minut nepřijde, podívejte se do spamu.

