PHP2Shell: které verze PHP jsou opravené a jak ověřit tu svou
V říjnu 2026 opravil projekt PHP 2 kritické zranitelnosti, které mohou útočníkovi umožnit spustit kód na serveru bez přihlášení. CISA je označuje jako „php2shell“. Jsou evidované jako CVE-2026-109618 a CVE-2026-109619 a obě mají v CVSS v4.0 hodnocení 9,2. Pokud na PHP běží jakákoli část online služeb vaší firmy, je postup jednoduchý: ověřte, že používáte PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12 nebo novější, případně sestavení od dodavatele, které opravu obsahuje.
Tento článek vysvětluje, co bylo opraveno, které verze opravu obsahují, jak zjistit, jakou verzi hlásí váš server, a na co se zeptat lidí, kteří spravují váš hosting. Během několika sekund si také můžete ověřit, jakou verzi PHP hlásí váš web.
Co je PHP2Shell
Bezpečnostní oznámení PHP z 21. října 2026 popisuje 2 chyby ve zpracování interních dat požadavku:
- CVE-2026-109618, poškození paměti při jejím vyčerpání. Když PHP dojde paměť, může se zpracování přerušit ve chvíli, kdy jsou interní data požadavku inicializovaná jen zčásti, a následný úklid pak může neplatná data považovat za platná.
- CVE-2026-109619, zastaralý stav požadavku. Interní stav patřící jednomu požadavku může přetrvat i po uvolnění jeho paměti a pozdější požadavek obsluhovaný stejným workerem ho může použít.
Obě chyby mohou umožnit vzdálené spuštění kódu bez autentizace. Podle oznámení se týkají každé instalace PHP, která obsluhuje webové požadavky, včetně PHP-FPM, Apache s mod_php, php-cgi, FrankenPHP a LiteSpeed. Tým PHP považuje za nejrizikovější mod_php, protože útok může spustit samotný požadavek ještě předtím, než se vykoná jakýkoli kód aplikace. To zároveň znamená, že aplikace nad ním (WordPress, e-shop, vlastní portál) vás sama neochrání, opravit je třeba samotné PHP.
Opravené verze a časová osa
- 21. října 2026: projekt PHP vydal verze 8.2.35, 8.3.36, 8.4.27 a 8.5.12 s opravou. Téhož dne vydal slovenský národní CSIRT SK-CERT varování a CISA zveřejnila upozornění.
- 26. října 2026: CISA zařadila obě CVE do svého katalogu Known Exploited Vulnerabilities, tedy seznamu zranitelností s doloženým zneužíváním v praxi.
PHP 8.1 a starší už od projektu PHP aktualizace nedostávají (viz podporované verze). Oznámení uvádí, že některé linuxové distribuce a dodavatelé dlouhodobé podpory opravy zpětně portují a že bezpečnostní tým PHP zveřejnil minimální zdrojové backporty pro 7.4, 8.0 a 8.1 pro ty, kdo si PHP sestavují sami. Pokud vaše služba běží na některé z těchto větví, zeptejte se dodavatele, zda obsahuje opravu, a naplánujte přechod na podporovanou větev.
Jak zjistit, jakou verzi PHP používáte
Jednoznačnou odpověď dá samotný server, ne pohled zvenčí:
- Zeptejte se toho, kdo službu provozuje (poskytovatele hostingu, agentury nebo IT týmu), na přesnou verzi PHP a na to, zda obsahuje opravy z 21. října.
- Máte-li přístup k shellu, spusťte
php -v. Webový server může používat jinou binárku PHP než příkazová řádka, proto zkontrolujte verzi také v panelu hostingu nebo v poolu PHP-FPM. - Správce balíčků ukáže sestavení od dodavatele: na Debianu a Ubuntu
dpkg -l | grep php, na RHEL a podobných systémechrpm -qa | grep php. Verzi balíčku porovnejte s bezpečnostním oznámením dodavatele, protože dodavatelé často ponechávají původní číslo verze a opravu jen doplní.
Některé servery prozrazují svou verzi i zvenčí, v hlavičkách HTTP odpovědi:
X-Powered-By: PHP/8.3.12
Server: Apache/2.4.62 (Debian)
Své vlastní hlavičky zobrazíte příkazem curl -sI https://www.example.com/. Naše kontrola PHP2Shell čte tytéž 2 hlavičky, X-Powered-By a Server, a porovná číslo s opravenými verzemi.
Co hlavička prozradí a co ne
Hlavičku čtěte obezřetně, a to oběma směry:
- Staré číslo nedokazuje, že je server zranitelný. Mnoho poskytovatelů hostingu nasazuje opravu na úrovni systému a původní označení verze ponechává.
- Aktuální číslo je dobré znamení, ne důkaz. Hlavičku lze změnit nebo ji může nastavovat proxy před serverem.
- Bez čísla nevíte nic. Většina serverů verzi PHP vůbec neposílá. Když jsme 31. října 2026 měřili 8 221 domén slovenských firem, z 8 171, které odpověděly, uvedlo verzi PHP v hlavičkách jen 332 (4,1 %). U ostatních hlavička neříká nic a odpověď musí dát ten, kdo službu provozuje.
Co udělat teď
- Aktualizujte PHP na 8.2.35, 8.3.36, 8.4.27, 8.5.12 nebo novější, případně nainstalujte opravený balíček od dodavatele. Restartujte PHP-FPM nebo webový server, aby nová verze skutečně běžela.
- Zeptejte se poskytovatele hostingu písemně, na které verzi PHP vaše služba běží a zda obsahuje opravy CVE-2026-109618 a CVE-2026-109619. Na totéž se zeptejte u stagingových serverů a starších projektů, viz zapomenuté staging a testovací servery.
- Naplánujte odchod z PHP 8.1 a starších, pokud zpětně portovaná oprava není k dispozici.
- Přestaňte verzi prozrazovat. Nastavte v
php.inihodnotuexpose_php = Off, čímž odstraníteX-Powered-By, a omezte hlavičkuServer(ServerTokens Prodpro Apache,server_tokens offpro nginx). Samo o sobě to nic neopraví, ale automatickým skenerům přestanete podrobnosti nabízet. Více v článku bezpečnostní hlavičky HTTP, které by měl posílat každý firemní web.
Pokud nemůžete aktualizovat hned, oznámení uvádí dočasná opatření, která omezují konkrétní cesty útoku, a jasně říká, že úplným řešením je jen aktualizace.
Jak pomáhá Datahorses
Každý den sledujeme vaši firmu zvenčí, tak jak ji vidí útočník, a žádné přístupy do vašich systémů nepotřebujeme. Když server začne prozrazovat zastaralou verzi softwaru, pošleme vám zjištění s přesným postupem pro toho, kdo ho spravuje. Podívejte se, co hlídáme, nebo si vyžádejte nabídku.
Další články
Jak prověřit dodavatele kybernetické bezpečnosti, než podepíšete smlouvu
Bezpečnostní dodavatel získá hluboký vhled do vaší firmy a někdy i přístup do jejích systémů. Tyto otázky a dokumenty si prověřte dřív, než cokoli podepíšete.
SPF, DKIM a DMARC srozumitelně pro majitele firem
3 záznamy v DNS rozhodují, zda může kdokoli poslat e-mail, který vypadá, jako by přišel z vaší domény. Co každý z nich dělá a jak ty své zkontrolujete za pár minut.
CEO podvod a vydávání se za vedení: jak sociální inženýrství míří na platby
Zpráva, která vypadá, jako by ji poslal váš generální ředitel, žádá naléhavou a důvěrnou platbu. Jak vydávání se za vedení funguje a jaká jednoduchá pravidla ho zastaví.