Gen. partnerAlgotech

PHP2Shell: Kritické chyby PHP ohrožují webové servery. Zveřejnění provázely úniky i porušení embarga

Dvě kritické zranitelnosti v PHP umožňují útočníkům za určitých podmínek vzdáleně spouštět kód na webových serverech bez přihlášení. Vývojáři 21. října vydali mimořádné bezpečnostní aktualizace, jejichž zveřejnění předcházela série úniků informací a podle PHP Foundation také porušení embarga. Některé organizace preventivně odstavily své webové služby, včetně služby pražského letiště.

|
21. října 2026
PHP2Shell: Kritické chyby PHP ohrožují webové servery. Zveřejnění provázely úniky i porušení embarga

Jeden z nejrozšířenějších programovacích jazyků současného internetu čelí mimořádně závažnému bezpečnostnímu problému. Vývojáři PHP zveřejnili opravy dvou kritických zranitelností, které mohou útočníkům umožnit spouštět vlastní kód na zranitelných serverech, získávat informace z jejich paměti nebo narušovat dostupnost webových služeb.

Zranitelnosti označované souhrnně jako PHP2Shell nesou identifikátory CVE-2026-109618 a CVE-2026-109619. Obě mají hodnocení CVSS 9,2 z 10 podle metodiky CVSS 4.0.

Mimořádnou pozornost si zaslouží také okolnosti zveřejnění. Informace o připravovaných opravách unikly před plánovaným termínem, společnost Calif omylem zveřejnila video demonstrující exploit a společnost Chainguard podle PHP Foundation předčasně vydala opravené kontejnerové obrazy. Vývojáři navíc přiznali, že základ jednoho z problémů znali už od roku 2024.

Chyba v samotném PHP může obejít zabezpečení aplikace

PHP patří mezi nejpoužívanější technologie pro provoz webových stránek. Podle statistik W3Techs jej používá přibližně 69 % webů, u nichž je znám serverový programovací jazyk. Toto číslo neznamená, že je stejný podíl webů zranitelný vůči PHP2Shell.

Na PHP fungují například WordPress, Drupal, Joomla nebo MediaWiki. Využívají jej rovněž e-shopy, zákaznické portály, firemní aplikace a webové služby veřejných institucí. Zranitelnosti se nacházejí v samotném interpretu PHP, a proto jejich oprava nespočívá pouze v aktualizaci redakčního systému.

Výzkumníci společnosti Wiz prokázali vzdálené spuštění kódu na testovacích instalacích WordPressu, Drupalu a Joomly. V některých konfiguracích útočník nepotřebuje žádné přihlašovací údaje ani zranitelnost v aplikačním kódu. Stačí speciálně připravený HTTP požadavek, který vyvolá chybu při práci PHP s pamětí.

U Apache s modulem mod_php může být zranitelnost aktivována ještě před spuštěním samotné webové aplikace. Úspěšné zneužití může umožnit spuštění příkazů s oprávněními PHP procesu, čtení souborů, přístup k citlivým údajům nebo změny na serveru. Rozsah následné kompromitace závisí na konfiguraci prostředí a nastavených oprávněních.

Dvě kritické zranitelnosti spojuje nesprávná práce s pamětí

CVE-2026-109618: Chyba při vyčerpání paměti

První chyba souvisí se situací označovanou jako out-of-memory (OOM). Pokud PHP při zpracování požadavku překročí paměťový limit, musí operaci bezpečně ukončit. Za určitých okolností se však provádění přeruší ve chvíli, kdy některé interní struktury ještě nejsou správně vytvořené. Při následném zpracování může dojít k poškození paměti.

Výzkumníci doložili, že útočník může za vhodných podmínek tento stav vyvolat vzdáleně a využít jej ke spuštění vlastního kódu. Funkční scénáře byly předvedeny zejména pro Apache s mod_php, ale také pro některá prostředí využívající PHP-FPM.

CVE-2026-109619: Práce s již uvolněnou pamětí

Druhá chyba souvisí s typem problému označovaným jako use-after-free. Po chybovém zpracování požadavku může PHP za určitých okolností ponechat interní odkaz na paměť, která už byla uvolněna. Následující požadavek obsluhovaný stejným procesem může takový odkaz znovu použít.

Následkem může být pád procesu, poškození paměti nebo v prokázaných scénářích vzdálené spuštění kódu. Výzkumníci rovněž demonstrovali možnosti zpřístupnění údajů z paměti PHP procesu, ve které se mohou nacházet autentizační tokeny, API klíče a další citlivé informace.

Podle PHP Foundation představuje zvlášť závažné riziko konfigurace Apache s modulem mod_php. Dopady a předpoklady zneužití se však liší podle způsobu nasazení PHP.

Vývojáři na základ problému narazili už v roce 2024

PHP Foundation ve svém vyjádření potvrdila, že první náznaky problému s vyčerpáním paměti byly identifikovány již v roce 2024. Stalo se tak při práci navazující na externí bezpečnostní audit, který organizovala OSTIF s podporou německé Sovereign Tech Agency a provedla společnost Quarkslab.

Tehdy ale nebyl nalezen konkrétní způsob, jak chybu využít ke vzdálenému spuštění kódu. Návrhy oprav narážely na zpětnou kompatibilitu, možné nové problémy s dostupností a dopady na rozšíření třetích stran. Vývojáři se nedokázali shodnout na vhodném řešení a postup komplikoval také nedostatek lidí s hlubokou znalostí jádra PHP.

PHP Foundation označila dlouhé odkládání nápravy za vlastní strukturální selhání. Přiznala nedostatky v rozhodovacích procesech bezpečnostního týmu a oznámila změny, které mají podobným prodlevám zabránit.

AI pomohla výzkumníkům prokázat závažnost starší chyby

Zásadní posun nastal v létě 2026. Výzkum společností Calif, OpenAI a Wiz s využitím nástrojů umělé inteligence pomohl odhalit konkrétní scénáře zneužití. Calif pracoval v rámci iniciativy Patch the Planet a v srpnu předal vývojářům PHP zjištění i funkční demonstrace. Nezávislý výzkum prováděly také týmy OpenAI a Wiz.

Wiz podle své časové osy odhalil zranitelnost 19. srpna a v následujících dnech demonstroval vzdálené spuštění kódu na testovacích instalacích Drupalu a WordPressu. Výzkumníci využívali AI při analýze rozsáhlého zdrojového kódu, hledání souvisejících chyb a přípravě testů pro různé konfigurace.

Právě tyto demonstrace ukázaly, že problém, který vývojáři znali již z roku 2024, může mít výrazně závažnější následky, než bylo tehdy prokázáno. Příprava oprav následně získala nejvyšší prioritu.

Únik informací změnil plán zveřejnění na poslední chvíli

Oficiální zveřejnění oprav se původně plánovalo na 22. října 2026 v 16:00 českého času. Vybraní distributoři a partneři měli k informacím přístup předem, aby mohli bezpečnostní aktualizace připravit a uvolnit koordinovaně.

Dne 20. října přibližně v 17:00 českého času se však na diskusních fórech a sociálních sítích začaly šířit identifikátory zranitelností a informace o plánovaném zveřejnění. Některé údaje byly nepřesné, například tvrzení o hodnocení CVSS 10,0. PHP Foundation uvedla, že při prvním úniku nevyšly najevo detailní technické informace umožňující přímo sestavit exploit.

Téhož dne kolem 21:30 PHP Foundation vydala předběžné varování a rozhodla o posunutí oficiálního vydání oprav o den dopředu, na 21. října. Okamžité zveřejnění však nepovažovala za vhodné, protože distributoři ještě neměli připravené všechny aktualizační balíčky.

Video s exploitem uniklo ještě před vydáním oprav

Kolem 22:00 českého času 20. října podle PHP Foundation společnost Calif omylem zveřejnila video s ukázkou funkčního exploitu. Záznam byl následně odstraněn, jeho kopie se však začaly šířit dál.

Video podle PHP Foundation přispělo k urychlení vývoje veřejných demonstrací útoků. Nadace také připustila možnost úniku části neveřejných pokynů pro mitigaci, které sdílela s vybranými provozovateli kritické infrastruktury.

Při oficiálním zveřejnění aktualizací PHP Foundation mezi sledovanými veřejnými proof-of-concept nástroji neidentifikovala funkční exploit. To ale nevylučuje existenci neveřejných funkčních útoků ani vznik dalších nástrojů po zveřejnění opravy.

Chainguard podle PHP Foundation porušil embargo

Další komplikace následovala 21. října v 09:41 českého času, kdy Chainguard podle PHP Foundation zveřejnil kontejnerové obrazy obsahující opravený kód PHP. Stalo se tak více než šest hodin před plánovaným koordinovaným zveřejněním.

PHP Foundation krok veřejně označila za jednostranné porušení embarga. Chainguard patřil mezi subjekty, které dostaly přístup k připravovaným aktualizacím předem kvůli jejich distribuci zákazníkům.

Problém předčasného zveřejnění opravených binárních souborů spočívá v tom, že porovnáním staré a nové verze lze hledat změny, které konkrétní bezpečnostní chybu opravují. Taková analýza může útočníkům napovědět, kde se zranitelnost nachází a jak ji zneužít, ještě před tím, než ostatní provozovatelé získají aktualizace.

Tvrzení o porušení embarga přisuzujeme PHP Foundation. Samostatné veřejné stanovisko Chainguardu k této výtce se v době přípravy článku nepodařilo ověřit. Z dostupných informací také nelze vyvozovat, že Chainguard jednal s úmyslem pomoci útočníkům.

Bezpečnostní firmy už zaznamenaly pokusy o zneužití

Cloudflare oznámil, že na své infrastruktuře pozoroval provoz zaměřený na PHP2Shell. Podle společnosti útočníci měnili podobu požadavků a pokoušeli se obejít připravená ochranná pravidla. Firma průběžně upravovala ochranu svého webového aplikačního firewallu (WAF), kterou zpřístupnila také zákazníkům bezplatné varianty služby.

O aktivních pokusech o zneužití informovala také bezpečnostní společnost watchTowr. Pozorovaný útočný provoz však nelze automaticky zaměňovat za úspěšné kompromitace serverů. K večeru 21. října nebyl veřejně doložen rozsah případných úspěšných průniků způsobených PHP2Shell.

Preventivní omezení webů zasáhlo i pražské letiště

Evropský bezpečnostní tým CERT-EU vyzval provozovatele k urgentní aktualizaci PHP. Pokud opravu nelze rychle nasadit, doporučil zvážit dočasné omezení veřejné dostupnosti zranitelných aplikací.

O preventivních opatřeních a omezeních webových služeb informovala média z několika evropských zemí. Konkrétní opatření bylo zaznamenáno také v České republice: Letiště Václava Havla Praha dočasně odstavilo službu FlightConnections.

Podle zprávy ČTK zveřejněné na iDNES letiště uvedlo PHP2Shell jako důvod preventivního omezení služby. Obnovení provozu podmínilo nasazením a otestováním aktualizace. Nejde o potvrzení průniku do systémů letiště ani narušení letového provozu.

K dispozici jsou bezpečnostní aktualizace čtyř větví PHP

Dne 21. října 2026 byly vydány mimořádné bezpečnostní aktualizace. Podle CERT-EU byly opravy zveřejněny v 15:30 českého času.

Větev PHP Opravená verze
PHP 8.5 8.5.12
PHP 8.4 8.4.27
PHP 8.3 8.3.36
PHP 8.2 8.2.35

Starší větve PHP již nemají běžnou upstream bezpečnostní podporu. Vývojáři kvůli mimořádné závažnosti incidentu poskytli také minimální zdrojové opravy pro PHP 7.4, 8.0 a 8.1; jejich zveřejnění však neznamená obnovení standardní podpory.

U balíčků dodávaných linuxovými distribucemi je důležité ověřit stanovisko příslušného dodavatele. Bezpečnostní oprava může být zpětně začleněna do balíčku, který má na první pohled starší číslo verze.

Aktualizace redakčního systému nestačí

Opravit je potřeba samotné prostředí PHP. Aktualizace WordPressu, Drupalu nebo jiné aplikace automaticky neodstraní chybu v interpretu, který ji spouští.

Správci by měli:

  • zmapovat všechny instalace PHP, včetně kontejnerů, hostingových prostředí a interních služeb;
  • nainstalovat opravenou verzi nebo bezpečnostní balíček od svého dodavatele;
  • restartovat dotčené služby, aby dále neběžely staré procesy se zranitelným kódem;
  • prověřit záznamy serverů, neočekávané pády PHP procesů, neobvyklé HTTP požadavky a další známky možné útočné aktivity;
  • pokud není možné ihned aktualizovat, zvážit dočasné omezení přístupu ke zranitelné službě.

PHP Foundation zveřejnila také dočasná konfigurační opatření pro jednotlivé zranitelnosti. Mohou zahrnovat například úpravy nastavení práce se sessions, požadavky a paměťovými limity. Jejich vhodnost je nutné posuzovat podle konkrétní konfigurace a dopadů na dostupnost aplikace.

Žádná dočasná mitigace ani pravidlo WAF však nepředstavují plnohodnotnou náhradu bezpečnostní aktualizace.

Případ odhalil problémy při údržbě klíčové internetové technologie

PHP2Shell je mimořádný nejen technickou závažností zranitelností, ale i okolnostmi jejich výzkumu, oprav a zveřejnění. PHP Foundation otevřeně přiznala, že problém, jehož základ znala od roku 2024, nebyl včas odstraněn kvůli obtížným technickým rozhodnutím a omezeným kapacitám bezpečnostního týmu.

Do toho přišlo předčasné šíření informací, zveřejnění videa s exploitem a spor o porušení embarga. Poskytovatelé infrastruktury museli připravovat ochranu v situaci, kdy se technické informace dostávaly na veřejnost dříve, než se původně plánovalo.

Pro organizace provozující PHP je nyní nejdůležitější nasadit opravy a prověřit možné známky zneužití. Skutečný rozsah úspěšných útoků zatím veřejně znám není.

Zdroje

Načítání komentářů...

Zůstaňte v obraze

Přihlaste se k odběru našeho newsletteru a získejte nejnovější informace o kybernetické bezpečnosti přímo do vaší e-mailové schránky.

Vaše údaje jsou v bezpečí. Newsletter můžete kdykoliv odhlásit.