Článek
Více než polovina webových stránek byla vystavena riziku okamžitého převzetí. Ty, které jejich správci neopraví, budou tomuto nebezpečí vystaveny nadále. Je to důsledek jedné z nejzávažnějších bezpečnostních děr v historii internetu. Závažná je především proto, že se týká velkého množství serverů – jazyk PHP totiž na pozadí využívá skoro 70 % všech webů.
Ve středu 21. října odpoledne vydala organizace PHP Foundation asi nejostřejší možné varování: v PHP je kritická chyba, která útočníkům umožní spustit svoje vlastní instrukce na vašem serveru. „Ohrožené jsou všechny instalace PHP, které obsluhují webové požadavky,“ píše se ve varování, které vyzývá k okamžitému instalování aktualizací.
Pokud jste správcem webu, zřejmě už máte plné ruce práce. Pro ostatní přinášíme srozumitelný přehled toho, co se stalo, jaké to mělo dopady, na co si musejí dát pozor běžní uživatelé a co tato epizoda může znamenat pro bezpečnost internetu obecně.
Co je to PHP a proč by to někoho mělo v roce 2026 zajímat?
Jazyk PHP vznikl v roce 1995 jako nástroj pro psaní dynamických webových stránek. Zkratka znamená PHP Hypertext Preprocessor (ano, to je záměrný vtip) a v podstatě znamená, že než se vám webová stránka zobrazí v prohlížeči, tak ji napřed serverová aplikace (využívající právě PHP nebo jiný podobný nástroj) sestaví na míru vašemu požadavku.
To je dnes naprostá samozřejmost, v 90. letech to byla žhavá novinka. Přestože jazyk PHP je vývojáři považován někdy za živoucí zkamenělinu z internetového pravěku, pravdou zůstává, že je i třicet let od svého vzniku nesmírně oblíbený a využívá jej asi 69 % webů, včetně opravdu důležitých a navštěvovaných: například Wikipedia, Facebook nebo Slack. Na PHP ostatně běží i populární redakční systém WordPress, který sám o sobě pohání více než třetinu webových stránek.
V čem objevená zranitelnost v PHP spočívá?
Zranitelnost je zjednodušeně řečeno chyba v počítačovém programu, která umožňuje útočníkovi dosáhnout něčeho, co by nemělo být možné. Chyba v programovacím jazyce je závažná tím, že se týká nejen konkrétního počítačového programu, ale všech počítačových programů, které jsou v daném jazyce postavené.
„Je to jako kdyby se ukázalo, že byla chyba v gramatice a všichni dělali chybu v tom, jak dávají dohromady věty,“ snaží se to přiblížit výzkumník Ryan Austin z bezpečnostní firmy Calif. „Akorát že místo toho, že jen vaše věta zní legračně, tak někdo může tuto chybu využít k tomu, aby odemkl dveře k vám domů.“
Organizace spravující jazyk PHP popsala dvě závažné chyby:
- chyba CVE-2026-109618: útočník může pomocí upravených požadavků na nahrání souborů vyčerpat paměť a dostat se k věcem, které neměl vidět, a dokonce spustit vlastní kód a upravit tak například údaje v databázi.
- chyba CVE-2026-109619: zneužívá stav, který na serveru přečká i po uvolnění paměti.
Pokud váš web používá na pozadí PHP, je velmi pravděpodobné, že je vystaven útokům, pokud neprovedete aktualizaci serveru.
Co je potřeba udělat?
Pokud jste běžný uživatel a neprovozujete web: nemusíte nic instalovat, naopak si dejte pozor na falešné rady využívající aktuální situace. Chyba se týká serverů, nikoli běžných osobních počítačů nebo telefonů. Je ale nutné počítat s tím, že v následujících dnech může dojít k útokům na uživatele, například prostřednictvím podvodných e-mailů, falešných nabídek „aktualizací prohlížeče“ apod. Platí obvyklé doporučení, neinstalujte nic z neoficiálních zdrojů.
Pokud máte web nebo sdílený hosting: zjistěte u svého správce, zda aktualizoval PHP na nejnovější verzi. Poskytovatelé sdíleného hostingu o tom obvykle informují na svém oficiálním webu. Pozor, nestačí aktualizovat WordPress nebo jiný redakční systém.
Pokud spravujete vlastní web nebo server: zjistěte, jakou verzi PHP používáte (příkaz php -v). Aktualizujte na některou z nových verzí (8.2.35, 8.3.36, 8.4.27 nebo 8.5.12 a vyšší). Restartujte server, jinak stará verze běží dál. Více informací v oficiálním návodu.
Pokud máte domácí server přístupný zvnějšku: PHP může běžet i tam, kde o něm ani nevíte. Zkontrolujte aktualizace domácích cloudových řešení (NAS, Nextcloud apod.), dočasně odpojte server od internetu.
Co chyba útočníkovi umožňuje?
Výzkumníci z firem Wiz a Calif, kteří se na popsání chyb podíleli, ukázali praktické dopady této zranitelnosti. Wiz předvedl převzetí kontroly nad servery provozované na oficiálních instalacích redakčních systémů WordPress, Drupal nebo Joomla.
Ovládnutí v tomto případě znamená, že útočník může dělat prakticky vše: číst databázi, zapisovat do databáze, změnit údaje na stránkách, podstrčit návštěvníkům škodlivý kód atd. To vše bez znalosti jakéhokoli hesla. Jedná se tedy o tzv. zero-day – zranitelnost, kterou může útočník využít okamžitě (od prvního dne).
Snad jedinou dobrou zprávou pro provozovatele je, že technicky vzato je útok poměrně složitý na provedení. „Ze stovek údajných ukázek toho, jak zranitelnost funguje, je jenom malá část funkční,“ všímají si výzkumníci z firmy VulnCheck. „Předpokládáme ale, že útočníci budou tyto způsoby zkoušet masivně, bez ohledu na to, jak funkční budou.“
Jedinou skutečnou obranou pro správce zůstávají aktualizace.
Jak nebezpečná je zranitelnost PHP2Shell?
Obě chyby dostaly na stupnici od nuly do desítky závažnost 9,2, což je skóre na stupnici CVSS, která bere v potaz, jak snadné je zneužití zranitelnosti, zda k tomu útočník potřebuje nějaký zvláštní přístup do systému a jaké jsou možné dopady při úspěšném zneužití.
Jakékoli skóre nad 9 řadí zranitelnost do nejnebezpečnější kategorie. Pro srovnání, zranitelnost Heartbleed z roku 2014 měla důležitost 7,5 a zranitelnost EternalBlue měla skóre 8,8. Výše byla naopak hodnocena chyba BlueKeep (9,8) a na samotném vrcholu nebezpečí byla chyba Log4Shell (plné skóre 10 z 10).
Samotné číslo není nutně indikací toho, jak vážné škody daná zranitelnost skutečně způsobí. Má nicméně odhadnout potenciální škody, ke kterým by došlo, kdyby správci chybu neopravili. Skóre 9,2 tak má administrátory webů povzbudit k co možná nejrychlejší odezvě.
Jak se svět o chybách dozvěděl?
Veřejné oznámení takto závažných chyb je vždy ožehavé a komplikované. Ideálně by se o objevené zranitelnosti měl dozvědět provozovatel dané služby a teprve poté, co ji opraví, se existence chyby oznámí. V tomto případě ale uniklo oznámení na web dříve, než bylo plánované.
Chybu objevily – zřejmě nezávisle na sobě – týmy Calif, OpenAI a Wiz. Správci jazyka PHP pak pracovali přibližně dva měsíce na opravě. Dva dny před plánovaným koordinovaným zveřejněním ale informace o zranitelnostech (zřejmě bez technických podrobností) unikly na sociální sítě. Správce projektu PHP proto vydal předoznámení o tom, že se chystá oficiální oznámení 21. října. Mezitím vyšly nové verze PHP 8.5.12, 8.4.27, 8.3.36 a 8.2.35, které již zranitelnost neobsahují.
Firma Calif omylem zveřejnila video s ukázkou zneužití s předstihem. Video následně smazala, ale kopie už kolovaly. Také firma Chainguard údajně embargo porušila. Společnost Amazon zase zjistila, že informace o zranitelnosti pravděpodobně někdo vypustil nebo zneužil už předtím: 17. října zaznamenala útok využívající principů zranitelnosti PHP2Shell na svém nastraženém serveru (tzv. honeypot). Není tedy vyloučené, že k útokům mohlo docházet ještě dříve.
Proč se vypínaly celé weby?
Protože jde o zranitelnost, jejíž zneužití má okamžité dopady. Oprava navíc není úplně jednoduchá: aktualizace PHP na serveru vyžaduje následný restart všech služeb, které PHP využívají.
Řada státních organizací – včetně americké NSA, nizozemského NCSC nebo evropského CERT-EU – doporučila správcům webů, aby své servery dočasně odpojili od internetu, než aktualizaci dokončí. „Pokud okamžitá aktualizace není možná, doporučujeme organizacím odpojit systém, dokud nebude plně ošetřen,“ napsala například NSA.
Japonská premiérka Sanae Takaiči dokonce apelovala na celou zemi, aby lidé řešení neodkládali. V Japonsku totiž tou dobou už byla noc: „Musíme jednat urgentně, ještě dnes v noci. (…) Pokud je obtížné záplatu uvést v provoz okamžitě, doporučuje se dočasně odstavit web od internetu.“












