PHP2Shell: kvůli chybě v PHP úřady vypínaly weby. Co udělat s tím vaším
Vývojáři PHP 21. října opravili dvě kritické chyby, přes které jde na serveru spustit cizí kód bez přihlášení. Útoky začaly už před opravou a Úřad vlády i zahraniční ministerstva preventivně vypínaly weby. Co udělat, když váš web běží na WordPressu nebo jiném PHP.
Pokud váš web běží na PHP, nechte ještě dnes aktualizovat PHP na opravenou verzi. Týká se to každého webu na WordPressu, Joomle nebo Drupalu i řady webů na míru. Aktualizace WordPressu ani pluginů nepomůže, chyba je přímo v PHP.
Vývojáři PHP 21. října vydali opravu dvou kritických chyb, kterým se říká PHP2Shell. Útočník přes ně může na serveru spustit vlastní kód bez přihlášení. Nejvíc ohrožené jsou servery s Apache a modulem mod_php. Tam podle vývojářů útok proběhne ještě předtím, než se rozběhne kód samotného webu.
Bezpečnostní oznámení PHP z 21. října 2026. Zdroj: php.net
Chyby pomohla najít AI, útočníci předběhli opravu
Chyby jsou v PHP přes deset let, výzkumníci z firmy Wiz je dohledali až do verze 5.4 z roku 2012. Našli je s pomocí AI modelů od Googlu a OpenAI a 24. srpna je nahlásili týmu PHP. Zveřejnění bylo domluvené na čtvrtek 22. října, informace ale unikly už v úterý. Tým PHP proto vydal opravy o den dřív.
Útočníci to zkoušeli ještě před únikem. Amazon zachytil první pokus v síti svých návnad 17. října, čtyři dny před opravou. V den vydání už podle něj kolovalo několik hotových exploitů a chyby se teď zneužívají ve velkém.
| Závažnost obou chyb | 9,2 z 10 | podle CVSS 4.0 |
|---|---|---|
| První pokus o útok | 4 dny | před opravou, 17. října |
| Vystavené instalace PHP | 22,6 mil. | potenciálně zranitelné, odhad Unit 42 |
Zdroj: php.net
Úřady vypínaly weby
Kdo nemohl aktualizovat hned, web radši vypnul. V Česku vypnul svůj web Úřad vlády, ČHMÚ odstavil část webů a Drážní úřad byl na desítky minut nedostupný. Weby vypínaly také vlády v Nizozemsku, Francii a Finsku, nadace Wikimedia odstavila část systémů. Šlo o preventivní kroky, napadení zatím žádná z institucí nehlásila.
NÚKIB doporučuje aktualizovat okamžitě. Americká CISA jde dál a radí weby odpojit, pokud je nejde hned aktualizovat nebo běží na PHP 8.1 a starším. Cloudflare nasadil pravidla firewallu, která známé útoky blokují všem zákazníkům včetně bezplatných. Sám je ale označuje za provizorium do aktualizace.
Weby šly dolů preventivně, než je správci aktualizovali. AI ilustrace
Co udělat s vaším webem
Rozhoduje verze PHP, na které web běží:
Verze PHP | Co udělat |
|---|---|
8.5 | Aktualizovat na 8.5.12. |
8.4 | Aktualizovat na 8.4.27. |
8.3 | Aktualizovat na 8.3.36. |
8.2 | Aktualizovat na 8.2.35. Podpora končí 31. prosince 2026, naplánujte přechod na novější verzi. |
8.1 a starší | Projekt PHP opravy nevydává. Opravu mohou mít distribuce a hostingy s prodlouženou podporou, jinak přechod na 8.4 nebo 8.5. |
Na sdíleném hostingu aktualizuje PHP hosting a verzi najdete v jeho administraci. Například Český hosting nasadil opravy 21. října. U PHP 7.0 a verzí 5.2 až 5.5 ale nasadil jen opatření, která útok ztíží a omezí nahrávání dat. Na vlastním serveru nainstalujte aktualizace balíčků, distribuce dostaly opravy předem. Dočasná nastavení z oznámení PHP riziko jen snižují, web bezpečný neudělají.
Zjistěte také, jestli už chyby někdo nezneužil. NÚKIB radí hledat neobvyklé procesy spuštěné službami PHP a Amazon doporučuje procházet záznamy nejméně od 17. října. Útočník mohl z paměti PHP vytáhnout i hesla a klíče k API. Když něco najdete, vyměňte je.
Pokud server spravujete s AI agentem, zadejte mu kontrolu. Prompt odkazuje na původní oznámení, ať si agent podmínky přečte sám.
Zkontroluj, jestli tento server ohrožuje PHP2Shell (CVE-2026-109618 a CVE-2026-109619), a navrhni opravu.
1. Přečti si oznámení a podmínky obou chyb:
https://www.php.net/archive/2026.php#2026-10-21-5
https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w
https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp
2. Zjisti verzi PHP, kterou používá webový server, ne jen výstup php -v v terminálu. Urči, jak PHP běží (mod_php, PHP-FPM, php-cgi, FrankenPHP, LiteSpeed) a odkud pochází (balíček distribuce, hosting, vlastní build).
3. Porovnej verzi s opravenými 8.5.12, 8.4.27, 8.3.36 a 8.2.35. U balíčku z distribuce ověř opravu podle bezpečnostního oznámení distribuce.
4. Projdi logy webového serveru a PHP nejméně od 17. října 2026: neobvyklé multipart požadavky, chyby memory limitu, série odpovědí 500, nezvykle dlouhé cookie PHPSESSID a procesy spuštěné z PHP (shell, curl, wget).
5. Navrhni postup aktualizace a seznam hesel a klíčů, které by bylo potřeba vyměnit, kdyby se něco našlo.
Nic neinstaluj, nerestartuj ani neměň bez mého potvrzení. Na konci shrň verzi PHP, způsob běhu, nálezy v logu a doporučený postup.Když web nespravujete sami
Napište tomu, kdo vám web dělal nebo ho hostuje, jednu otázku: na jaké verzi PHP web běží a kdy dostal opravu PHP2Shell. Odpověď by měla obsahovat jednu z opravených verzí, případně opravený balíček hostingu, a datum.
Weby, které stavíme my, běží na Next.js a Vercelu a PHP nepoužívají. I ty ale potřebují bezpečnostní aktualizace. Jak je zkontrolovat, jsem popsal v článku o konci podpory Next.js 15.
Starší web na PHP 7 už opravy od projektu PHP nedostává a přechod na PHP 8 obvykle znamená upravit a otestovat i samotný web. Porovnejte cenu té úpravy s cenou nového webu. Cizí weby na WordPressu nepřebíráme, můžeme ale postavit nový a převést do něj obsah.
Zdroje a další čtení

Nové články e‑mailem
Komentáře
Načítání komentářů…