Zprávy

PHP2Shell: Zranitelnosti v PHP zasáhly provoz vládních webů. Jaká rizika představují?

Dvě kritické zranitelnosti v PHP, přezdívané PHP2Shell, přiměly evropské vlády včetně české preventivně odstavit své weby. Co chyby umožňují a co by měli udělat správci serverů?

Tagy:
redakce22.10.2026

Dvě kritické bezpečnostní zranitelnosti v programovacím jazyce PHP vyvolaly nebývalou reakci evropských vlád a bezpečnostních institucí. Úřady včetně české vlády preventivně odstavují své webové stránky, zatímco správci systémů spěšně instalují bezpečnostní aktualizace. Chyby totiž mohou útočníkům umožnit spouštět vlastní kód na vzdálených serverech bez přihlášení. V krajním případě by mohly vést ke krádežím dat, kompromitaci veřejných služeb nebo dalším kybernetickým útokům.

Ve středu 21. října 2026 vydali vývojáři PHP urgentní bezpečnostní aktualizace opravující dvě kritické zranitelnosti označené CVE-2026-109618 a CVE-2026-109619, souhrnně přezdívané PHP2Shell. Obě mají podle zveřejněných bezpečnostních upozornění závažnost 9,2 z 10 a umožňují za určitých podmínek vzdálené spuštění škodlivého kódu.

Problém je mimořádně závažný především kvůli rozšíření PHP. Tento programovací jazyk tvoří technologický základ značné části současného webu. Využívají jej redakční systémy, internetové obchody, zákaznické portály, firemní aplikace i veřejná správa. PHP používají také populární systémy WordPress, Drupal nebo Joomla.

Na rozdíl od běžných zranitelností v jednotlivých aplikacích se tentokrát bezpečnostní problém nachází přímo v programovacím prostředí, na kterém aplikace fungují. Potenciálně tedy zasahuje velké množství různých služeb současně.

Na situaci reagovaly evropská agentura ENISA, CERT-EU i český Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB). Jejich doporučení je jednoznačné: okamžitě aktualizovat a systémy, které nelze včas zabezpečit, podle vyhodnocení rizika dočasně odpojit od veřejného internetu.

Proč vlády raději vypínají webové stránky

První viditelné dopady přišly ještě předtím, než většina veřejnosti vůbec zjistila, že nějaký problém existuje.

Ve středu začaly evropské instituce preventivně odstavovat internetové služby. V Německu spolkový poskytovatel IT služeb ITZBund vypnul několik vládních webů. Ve Francii byly dočasně nedostupné stránky prefektur, v Nizozemsku například vládní portál Overheid.nl, některé nemocniční weby a další veřejné služby. Podobně postupovaly instituce ve Finsku a belgické ministerstvo zahraničí.

K preventivnímu vypnutí přistoupila také česká vláda. Vládní web byl odstaven ve středu 21. října v 19 hodin na doporučení NÚKIB, aby mohly být provedeny nezbytné bezpečnostní aktualizace. Úřad vlády uvedl, že stránky budou obnoveny po aplikaci doporučených oprav.

Německé a finské úřady přitom zdůraznily, že jejich preventivní opatření nebyla důsledkem potvrzeného bezpečnostního incidentu. Belgické centrum pro kybernetickou bezpečnost rovněž nezaznamenalo žádné útoky na belgické weby. Samotná nedostupnost webu tedy neznamená, že se útočníkům podařilo systém napadnout.

Rozhodnutí odstavit veřejné weby může na první pohled působit přehnaně. Pro správce kritických informačních systémů však představuje poměrně racionální bezpečnostní opatření.

Pokud existuje zranitelnost umožňující vzdálené spuštění kódu bez autentizace, může útočník za určitých podmínek napadnout server prostřednictvím běžného internetového požadavku. Nemusí znát administrátorské heslo, nemusí mít uživatelský účet a nemusí ani objevit chybu v konkrétní webové aplikaci.

Z bezpečnostního hlediska tak vzniká nepříjemná volba: na několik hodin omezit dostupnost služby, nebo riskovat, že zranitelný server někdo kompromituje dříve, než bude opraven.

První varianta znamená provozní komplikace. Druhá může znamenat týdny vyšetřování, obnovu systémů, únik citlivých informací a v nejhorším případě rozsáhlejší bezpečnostní incident.

Co se vlastně stalo?

Podle oficiálního bezpečnostního upozornění PHP se jedná o dvě odlišné chyby v interní práci s pamětí.

První zranitelnost, CVE-2026-109618, souvisí se zpracováním situací, kdy PHP narazí na nedostatek paměti. Za určitých okolností může dojít k přerušení zpracování požadavku ve chvíli, kdy ještě nejsou správně inicializovány interní datové struktury. Následné uvolňování prostředků pak může pracovat s neplatnými daty.

Druhá zranitelnost, CVE-2026-109619, se týká interního stavu, který může přetrvat i poté, co byla související paměť uvolněna. Další požadavek zpracovávaný stejným procesem pak může s tímto neplatným stavem pracovat.

V obou případech mohou chyby při úspěšném zneužití vést až ke spuštění kódu zvoleného útočníkem.

Vývojáři PHP upozorňují, že ohroženy mohou být různé způsoby provozu PHP, včetně PHP-FPM, Apache s modulem mod_php, php-cgi, FrankenPHP a LiteSpeed. Za obzvlášť rizikové považují prostředí mod_php, kde bylo demonstrováno zneužití ještě před spuštěním samotného aplikačního kódu.

Právě tato okolnost je zásadní. Ani kvalitně naprogramovaný web totiž nemusí být dostatečně chráněný, pokud je zranitelné samotné prostředí, ve kterém běží.

Co by se mohlo stát, pokud útočníci chyby zneužijí

Nejzávažnějším scénářem není pouhá nedostupnost webových stránek. Úspěšné zneužití může útočníkovi poskytnout možnost vykonávat příkazy na serveru s oprávněními napadeného procesu.

Rozsah následných škod závisí na konfiguraci serveru, jeho přístupových právech, propojení s dalšími systémy a zabezpečení celé infrastruktury.

Prvním rizikem je krádež citlivých dat. Útočník by mohl získat přístup ke konfiguračním souborům, přihlašovacím údajům, databázovým heslům nebo informacím zpracovávaným webovou aplikací. U veřejných institucí by to v závislosti na napadeném systému mohly být také osobní údaje občanů či interní dokumenty.

Druhým scénářem je změna obsahu webových stránek. Napadený server může posloužit k šíření podvodných sdělení, přesměrování návštěvníků na škodlivé stránky nebo distribuci malwaru. V případě vládního webu by podobný incident mohl mít kromě technických škod také významné reputační důsledky.

Ještě závažnější by bylo využití napadeného webového serveru jako výchozího bodu pro průnik do dalších částí infrastruktury. Pokud má server přístup k interním aplikacím, databázím nebo síťovým službám, mohl by útočník zkusit kompromitaci rozšířit. Samotná chyba v PHP ovšem automaticky neznamená možnost převzít celou síť.

Dalším rizikem je instalace trvalého zadního přístupu, takzvaného backdooru. Útočník si může vytvořit způsob, jak se do systému vracet i po opravě původní zranitelnosti. Právě proto britské Národní centrum kybernetické bezpečnosti upozornilo, že správci systémů, které nelze okamžitě aktualizovat, by měli před opravou prověřit také případné známky předchozí kompromitace.

V neposlední řadě mohou být zranitelné servery zneužity k těžbě kryptoměn, rozesílání škodlivého provozu nebo jako součást infrastruktury pro další kybernetické útoky.

Útočníci už začali zkoušet, co zranitelnosti umožňují

Zatímco některé instituce své systémy preventivně vypínaly, objevily se také informace o pokusech zranitelnosti aktivně zneužít.

Podle bezpečnostního ředitele Amazonu CJ Mosese zachytila síť návnadových serverů (honeypotů) této společnosti pokus o zneužití chyb již 17. října. K pokusu tedy došlo čtyři dny před zveřejněním podrobností.

Zveřejnění oprav navíc paradoxně zahajuje další rizikovou fázi. Bezpečnostní aktualizace totiž ukazuje, které části programu se změnily. Zkušení útočníci mohou porovnáním původního a opraveného kódu odhalit podstatu zranitelnosti a připravit vlastní nástroje pro její zneužití.

Do tohoto procesu stále výrazněji vstupuje umělá inteligence. Nástroje pro automatickou analýzu kódu mohou urychlovat vyhledávání zranitelných míst i tvorbu útočných postupů.

Na objevení problémů se podílely bezpečnostní týmy využívající jazykové modely. První chybu nahlásila v srpnu firma Calif ve spolupráci s OpenAI, další nezávisle objevila společnost Wiz.

AI tak v tomto případě stojí na obou stranách bezpečnostního problému. Pomáhá zranitelnosti objevovat a opravovat, ale současně může zkracovat dobu potřebnou k jejich zneužití.

Problém pro firmy, které ani nevědí, že PHP používají

Zranitelnosti se netýkají pouze veřejných institucí. Potenciálně ohrožují také komerční poskytovatele webhostingu, provozovatele elektronických obchodů, podnikových portálů a organizace využívající aplikace postavené na PHP.

Problém je, že řada firem vůbec nemusí vědět, že jejich webová aplikace PHP využívá. Technologie může být součástí dodaného redakčního systému, podnikové aplikace nebo služby provozované externím dodavatelem.

Zvlášť komplikovaná může být situace u starších systémů, které nebyly dlouhodobě modernizovány. PHP 8.1 a starší verze již nejsou standardně podporovány samotným projektem PHP. Někteří dodavatelé linuxových distribucí s dlouhodobou podporou sice poskytují vlastní bezpečnostní opravy, jejich dostupnost je však nutné ověřit.

Oficiální aktualizace byly vydány pro verze PHP 8.2.35, 8.3.36, 8.4.27 a 8.5.12. U starších instalací může být nutná migrace na podporovanou verzi nebo použití bezpečnostní opravy od příslušného dodavatele.

Pro dodavatele IT služeb to znamená potřebu rychle identifikovat zákaznické systémy, ověřit jejich verze a zajistit aktualizace. Součástí práce by měla být také kontrola provozních záznamů, neobvyklých procesů a případných známek neoprávněného přístupu.

Nestačí přitom aktualizovat samotný WordPress nebo jeho doplňky. Pokud zranitelnost leží v PHP, musí být opraveno právě toto prostředí.

Proč nestačí firewall nebo běžné bezpečnostní opatření

Bezpečnostní zařízení, omezení přístupu nebo pravidla webového aplikačního firewallu mohou riziko snížit. Pokud však chyba umožňuje obejít běžné zpracování aplikace, nelze se na tyto ochranné vrstvy bez dalšího spoléhat.

Vývojáři PHP zveřejnili také několik dočasných opatření, která mohou omezit konkrétní způsoby zneužití. Patří mezi ně změny nastavení paměťových limitů, omezení velikosti zpracovávaných požadavků nebo vypnutí některých funkcí souvisejících se zpracováním relací.

Zároveň ale výslovně upozornili, že žádné z těchto opatření nepředstavuje úplnou ochranu.

Jediným spolehlivým řešením je instalace opravené verze PHP nebo odpovídající bezpečnostní opravy od dodavatele.

To vysvětluje, proč některé vlády přistoupily k tak razantnímu opatření, jakým je dočasné vypnutí veřejných webů.

Co ukáže následujících několik dní

Zveřejněním bezpečnostních aktualizací incident nekončí. Naopak začíná období, během kterého budou správci systémů instalovat opravy a útočníci hledat servery, které zůstaly zranitelné.

Největší pozornost bude pravděpodobně směřovat k veřejně dostupným aplikacím, zastaralým instalacím a systémům, jejichž provozovatelé nemají dostatečný přehled o používaných technologiích.

Zvlášť problematické mohou být aplikace, které nelze jednoduše aktualizovat kvůli závislostem na starších knihovnách nebo specifickém podnikovém softwaru. Právě ty mohou zůstat zranitelné ještě dlouho poté, co největší provozovatelé své systémy zabezpečí.

Zatím ale není důvod tvrdit, že dochází k plošné kompromitaci evropských vládních systémů. Potvrzené preventivní odstávky, zaznamenané pokusy o zneužití a skutečně úspěšné průniky představují tři odlišné situace, které je nutné rozlišovat.

Současný incident především ukazuje, jak silně je digitální infrastruktura závislá na relativně malém množství základních softwarových technologií. Chyba v jedné z nich může během několika hodin vyvolat bezpečnostní opatření v celé řadě zemí a zasáhnout služby, které spolu na první pohled vůbec nesouvisejí.

Pro veřejnou správu i podniky z toho vyplývá poměrně nepříjemné ponaučení. Bezpečnost webové aplikace nekončí u jejího vlastního zdrojového kódu. Závisí také na programovacím prostředí, knihovnách, serverech a dodavatelích, kteří se starají o jejich provoz.

A pokud některá z těchto vrstev selže, může být nejbezpečnějším řešením na určitou dobu jednoduše vypnout web.

Zdroj: php.net, nukib.gov.cz

Zdroj obrázku: vygenerováno pomocí AI