· 3 min čtení
PHP2Shell: kritické zranitelnosti v PHP. Jsou vaše weby a servery v bezpečí?
Ve středu 21. října 2026 vydal tým PHP mimořádnou bezpečnostní aktualizaci. Opravuje dvě kritické zranitelnosti v jádru PHP – CVE-2026-109618 a CVE-2026-109619, v médiích označované jako PHP2Shell. Obě mají skóre CVSS 9,2 z 10 a v nejhorším případě umožňují útočníkovi bez přihlášení spustit na serveru vlastní kód. Na PHP běží WordPress, většina e-shopů i řada firemních aplikací, takže se to týká velké části webů.
Podrobnosti navíc unikly den před vydáním oprav a brzy se objevily první veřejné ukázky útoku. Bezpečnostní firmy hlásí pokusy o zneužití – s aktualizací proto neotálejte.
O co v případě PHP2Shell jde?
Obě chyby souvisejí se správou paměti mezi jednotlivými požadavky na server:
- CVE-2026-109618 – když požadavek v nevhodnou chvíli narazí na limit paměti (memory_limit), může PHP nechat interní data jen napůl připravená a při úklidu s nimi zacházet jako s platnými. Výsledkem je poškození paměti.
- CVE-2026-109619 – po fatální chybě může interní stav dál ukazovat na paměť, která patřila předchozímu požadavku. Další požadavek obsloužený stejným procesem ji pak může použít (tzv. use-after-free).
Ohrožené jsou všechny instalace PHP, které obsluhují webové požadavky – PHP-FPM, Apache s mod_php, php-cgi, FrankenPHP i LiteSpeed. Nejvyšší riziko je u Apache s mod_php: tam může útok proběhnout dřív, než se vůbec spustí kód webu, a to i ve výchozím nastavení.
Které verze PHP jsou bezpečné?
Opravy obsahují verze:
- PHP 8.5.12
- PHP 8.4.27
- PHP 8.3.36
- PHP 8.2.35
PHP 8.1 a starší už od projektu PHP aktualizace nedostávají. Pro verze 7.4, 8.0 a 8.1 existují jen zdrojové záplaty, které musí nasadit dodavatel systému nebo správce serveru. Pokud váš web na takové verzi běží, je nejvyšší čas přejít na novější – ideálně rovnou na 8.3 nebo 8.4, protože i PHP 8.2 končí s podporou 31. prosince 2026.
Co to znamená pro vaši firmu
Úspěšný útok dává útočníkovi stejná oprávnění, jaká má na serveru web. V praxi to může znamenat:
- převzetí webu nebo e-shopu a vložení škodlivého kódu,
- únik dat zákazníků, objednávek nebo interních dokumentů,
- zneužití serveru k rozesílání spamu, těžbě kryptoměn nebo dalším útokům,
- výpadek, poškození dobrého jména a případně povinnosti podle GDPR či NIS2.
Co udělat hned
- Zjistěte verzi PHP. Najdete ji v administraci hostingu, ve WordPressu v části Nástroje → Stav webu → Informace → Server, případně se zeptejte správce.
- Aktualizujte. Na sdíleném hostingu opravy většinou nasazuje poskytovatel – ověřte si, že už to udělal. Na vlastním serveru nebo VPS nainstalujte opravené balíčky a restartujte PHP-FPM, případně Apache.
- Staré verze neodkládejte. PHP 8.1 a starší převeďte na podporovanou verzi. Web a pluginy předem vyzkoušejte na kopii.
- Když aktualizace hned nejde, snižte riziko dočasnými opatřeními, která doporučuje PHP – například vypnutím volby session.upload_progress.enabled a rozumnými limity velikosti požadavků v PHP i na webovém serveru. PHP ale výslovně upozorňuje, že úplnou ochranu dává jen aktualizace.
- Ověřte, že k útoku už nedošlo. Projděte logy, neznámé soubory v adresářích webu a nové administrátorské účty. Zkontrolujte, že máte funkční zálohu.
Jak vám pomůžeme
Ať web nebo server spravujete sami, nebo s jiným dodavatelem, rádi to s vámi vyřešíme v rámci podpory webů a podpory systémů a aplikací:
- Rychlá kontrola – zjistíme verze PHP a nastavení na vašich serverech a hostingu.
- Aktualizace a přechod na novou verzi – včetně vyzkoušení webu a pluginů, aby po změně vše fungovalo.
- Zabezpečení serveru – limity požadavků, oddělení procesů, oprávnění a dohled, které snižují dopad podobných chyb i do budoucna.
Ozvěte se nám – domluvíme se, co je potřeba udělat, a postaráme se o to.
Zdroje: php.net – bezpečnostní vydání PHP, The PHP Foundation.
